java的Date() 转换符

简介: 本字段下均转自 csdn 阿念1989  本文是学习网络上的文章时的总结,感谢大家无私的分享。System.out.printf()方法可以对日期做处理输出。对应列表 转换符类型举例c完整的日期和时间Mon Feb 09 18:05:11 PST 2004...

本字段下均转自 csdn 阿念1989 


 

本文是学习网络上的文章时的总结,感谢大家无私的分享。

System.out.printf()方法可以对日期做处理输出。

对应列表

 

转换符 类型 举例
c 完整的日期和时间 Mon Feb 09 18:05:11 PST 2004
F ISO 8061日期 2004-02-09
D 美国格式的日期 02/09/2004
T 24小时时间 18:03:23
r 12小时时间 05:03:23 pm
R 24小时时间没有秒 18:05
Y 4位数字的年(前面补0) 2004
y 年的后两位数字(前面补0) 04
C 年的前两位数字(前面补0) 20
B 月的完整拼写 February
b或h 月的缩写 Feb
m 两位数字的月(前面补0) 02
d 两位数字的日(前面补0) 09
e 两位数字的月(前面不补0) 9
A 星期几的完整拼写 Monday
a 星期几的缩写 Mon
j 三位数的年中的日子(前面补0),在001到366之间 069
H 两位数字的小时(前面补0),在0到23之间 18
k 两位数字的小时(前面不补0)在0到23之间 8
I(大写的i) 两位数字的小时(前面补0),在0到12之间 06
l(小写的L) 两位数字的小时(前面不补0),在0到12之间 6
M 两位数字的分钟(前面补0) 05
S 两位数字的秒(前面补0) 19
L 三位数字的毫秒(前面补0) 047
N 九位数字的毫微秒(前面补0) 047000000
P 上午或者下午的大写标志 PM
p 上午或者下午的小写标志 pm
z 从GMT起,RFC822数字移位 -0800
Z 时区 PST
s 从格林威治时间1970-01-01 00:00:00起的秒数 107884319
Q 从格林威治时间1970-01-01 00:00:01起的毫秒数 107884319047


测试代码

 

 
package SE;

import java.util.Date;

/**
 * 
 * <p>
 * Description: 本实例是为了学习printf对日期类型的格式化输出
 * </p>
 * 
 * @author zhangjunshuai
 * @version 1.0 Create Date: 2014-10-16 下午6:12:50 Project Name: Java7Thread
 * 
 *          <pre>
 *  
 * Modification History:  
  *             Date                                Author                   Version          Description  
 * -----------------------------------------------------------------------------------------------------------   
 * LastChange: $Date::             $      $Author: $          $Rev: $
 *          </pre>
 * 
 */
public class PrintfDate {

    /**
     * <p>
     * </p>
     * 
     * @author zhangjunshuai
     * @date 2014-10-16 下午6:12:46
     * @param args
     */
    public static void main(String[] args) {
        // printf方法可以打印时间格式,以t开始,以表中人以字母结束的两个字母格式
        System.out.printf("%tc\n", new Date());
        System.out.printf("%tF\n", new Date());
        System.out.printf("%tD\n", new Date());
        System.out.printf("%tT\n", new Date());
        System.out.printf("%tr\n", new Date());
        System.out.printf("%tR\n", new Date());
        System.out.printf("%tY\n", new Date());
        System.out.printf("%ty\n", new Date());
        System.out.printf("%tC\n", new Date());
        System.out.printf("%tb\n", new Date());
        System.out.printf("%tm\n", new Date());
        System.out.printf("%td\n", new Date());
        System.out.printf("%te\n", new Date());
        System.out.printf("%tA\n", new Date());
        System.out.printf("%ta\n", new Date());
        System.out.printf("%tj\n", new Date());
        System.out.printf("%tH\n", new Date());
        System.out.printf("%tk\n", new Date());
        System.out.printf("%tI\n", new Date());
        System.out.printf("%tl\n", new Date());
        System.out.printf("%tM\n", new Date());
        System.out.printf("%tS\n", new Date());
        System.out.printf("%tL\n", new Date());
        System.out.printf("%tN\n", new Date());
        System.out.printf("%tp\n", new Date());
        // System.out.printf("%tP\n",new Date());//此方法报错 应该和时区有关系
        System.out.printf("%tz\n", new Date());
        System.out.printf("%tZ\n", new Date());
        System.out.printf("%ts\n", new Date());
        System.out.printf("%tQ\n", new Date());

    }

}

 

结果:

 

 

从上表可以看出,某些个事只给出指定日期的部分信息,如果需要多次对日期操作才能实现一部分操作的目的就太笨拙了,为此可以采用一个格式化字符串之处被格式化的参数索引。索引必须紧跟在%后面,以$终止。 索引从1开始 ,而非0。

 

  1. System.out.printf("%1$s %2$tB %2$te, %2$tY\n", "Due date:", new Date());//%之后的2表示的是第二个参数,此处是指的是new Date()  


也可以选择使用<标志,它指示前面格式说明中的参数将被再次使用。

  

    1. System.out.printf("%s %tB %<te, %<tY", "Due date:", new Date());//选择使用<标志,它指示前面格式说明中的参数将被再次使用。  
将编程看作是一门艺术,而不单单是个技术。 敲打的英文字符是我的黑白琴键, 思维图纸画出的是我编写的五线谱。 当美妙的华章响起,现实通往二进制的大门即将被打开。
相关文章
|
6月前
|
Java 关系型数据库 MySQL
37、一篇文章学习 Java 中的日期相关类(Date 和 Calendar),非常常用
37、一篇文章学习 Java 中的日期相关类(Date 和 Calendar),非常常用
69 0
|
6月前
|
Java
关于java获取时间 new Date(),显示“上午、下午”
关于java获取时间 new Date(),显示“上午、下午”
101 0
|
Java p3c
【Java用法】请使用System.currentTimeMillis()代替new Date().getTime()
【Java用法】请使用System.currentTimeMillis()代替new Date().getTime()
129 0
|
Java API
Java之Date类以及SimpleDateFormal类的概述
Java之Date类以及SimpleDateFormal类的概述
74 0
|
2月前
|
安全 Java API
时间日期API(Date,SimpleDateFormat,Calendar)+java8新增日期API (LocalTime,LocalDate,LocalDateTime)
这篇文章介绍了Java中处理日期和时间的API,包括旧的日期API(Date、SimpleDateFormat、Calendar)和Java 8引入的新日期API(LocalTime、LocalDate、LocalDateTime)。文章详细解释了这些类/接口的方法和用途,并通过代码示例展示了如何使用它们。此外,还讨论了新旧API的区别,新API的不可变性和线程安全性,以及它们提供的操作日期时间的灵活性和简洁性。
|
1月前
|
Java
Java的Date类使用
Java的Date类使用
19 0
|
2月前
|
Java API
java date 增加10s后的时间
在 Java 中,要将 `Date` 对象增加 10 秒,可以通过 `Calendar` 类(适用于 Java 8 之前)或 `java.time` 包中的 `LocalDateTime`、`ZonedDateTime` 和 `Instant` 类(Java 8 及以上)实现。使用 `Calendar` 类时,需设置并修改 `Calendar` 实例。而在 `java.time` 包中,可以使用 `plus` 方法结合 `ChronoUnit.SECONDS` 来增加秒数。具体选择取决于是否需要处理时区以及 Java 版本。
105 1
|
5月前
|
安全 Java 测试技术
滚雪球学Java(51):掌握Java Date类:用法、弊端与时间戳转换技巧,助你轻松处理日期时间
【6月更文挑战第5天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
83 0
滚雪球学Java(51):掌握Java Date类:用法、弊端与时间戳转换技巧,助你轻松处理日期时间
|
6月前
|
Java
Java String类型转换成Date日期类型
Java String类型转换成Date日期类型
Java String、Date、Calendar、LocalDate和LocalDateTime互转
Java String、Date、Calendar、LocalDate和LocalDateTime互转
118 0