"yyyy/mm/dd" 和 "yyyy/mm/DD" 的不同结果
Different result of "yyyy/mm/dd" and "yyyy/mm/DD"
我知道要接收日期,我必须使用此代码 dd
小写:
DateFormat dateFormat0 = new SimpleDateFormat("yyyy/mm/dd HH:MM:SS");
Date dateNow0 = new Date();
System.out.println("Date format: " + dateFormat0.format(dateNow0));
输出为:
日期格式:2016/28/06 09:03:493
但是当我在日期格式中使用大写 DD
时。代码:
DateFormat dateFormat1 = new SimpleDateFormat("yyyy/mm/DD HH:MM:SS");
Date dateNow1 = new Date();
System.out.println("Date format: " + dateFormat1.format(dateNow1));
输出为:
日期格式:2016/28/66 09:03:494
为什么我使用大写 'DD' 而不是 'dd' 得到不同的结果?
'DD'的结果代表什么?
D
是一年中的第几天 (1-365)
d
是月中的第几天 (1-31)
请参阅 SimpleDateFormat
上的文档:https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
Java7中的正确解法代码是:
DateFormat dateFormat3 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Calendar cal = Calendar.getInstance();
System.out.println(dateFormat3.format(cal.getTime()));
并在 Java 8:
LocalDateTime localDateTime = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
String text = localDateTime.format(formatter);
System.out.println(text);
我知道要接收日期,我必须使用此代码 dd
小写:
DateFormat dateFormat0 = new SimpleDateFormat("yyyy/mm/dd HH:MM:SS");
Date dateNow0 = new Date();
System.out.println("Date format: " + dateFormat0.format(dateNow0));
输出为:
日期格式:2016/28/06 09:03:493
但是当我在日期格式中使用大写 DD
时。代码:
DateFormat dateFormat1 = new SimpleDateFormat("yyyy/mm/DD HH:MM:SS");
Date dateNow1 = new Date();
System.out.println("Date format: " + dateFormat1.format(dateNow1));
输出为:
日期格式:2016/28/66 09:03:494
为什么我使用大写 'DD' 而不是 'dd' 得到不同的结果? 'DD'的结果代表什么?
D
是一年中的第几天 (1-365)
d
是月中的第几天 (1-31)
请参阅 SimpleDateFormat
上的文档:https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
Java7中的正确解法代码是:
DateFormat dateFormat3 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Calendar cal = Calendar.getInstance();
System.out.println(dateFormat3.format(cal.getTime()));
并在 Java 8:
LocalDateTime localDateTime = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
String text = localDateTime.format(formatter);
System.out.println(text);