注释:
年-月-日 时:分:秒.毫秒
yyyy-MM-dd HH:mm:ss.SSS
前几天写日期格式化工具类,自己做测试的时候,无意中发现一个问题,如果把format参数设置成YYYY-MM-DD,输出的结果很奇怪。
Date result1 = string2Date("2016-12-15", "yyyy-MM-dd");
System.out.println(result1);
Date result2 = string2Date("2016-12-15", "YYYY-MM-DD");
System.out.println(result2);
Date date1 = new Date();
System.out.println(date2String(date1, "yyyy-MM-dd"));
System.out.println(date2String(date1, "YYYY-MM-DD"));
結果
Thu Dec 15 00:00:00 CST 2016
Sun Dec 27 00:00:00 CST 2015
2016-12-20
2016-12-355
第一种情况下,明明是2016年的日期,转完格式变成了2015年。。。我去
试验版本jdk1.7,我看有些文章说,y是year,Y是week year
比如:
注
开发中还是用
yyyy-MM-dd
来做日期格式化,其它的就不要用了。yyyy-MM-dd HH:mm:ss
年-月-日 时:分:秒
大写是为了区分“ 月”与“ 分”
顺便说下HH为什么大写,是为了区分 12小时制
与 24小时制
。
小写的h是12小时制,大写的H是24小时制
。
有的时候我们会看到这样的格式:yyyy-M-d H:m:s
mm与m等,它们的区别为 是否有前导零:H,m,s表示 非零开始,HH,mm,ss表示 从零开始。
比如凌晨1点2分,HH:mm显示为 01:02,H:m显示为 1:2
。
————————————————
转载-原文链接:https://blog.youkuaiyun.com/qq_39900031/article/details/125343713