java日期格式化YYYY-MM-dd遇坑指南小结

本文主要介绍了java日期格式化YYYY-MM-dd遇坑指南小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前几天写日期格式化工具类,自己做测试的时候,无意中发现一个问题,如果把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

到此这篇关于java日期格式化YYYY-MM-dd遇坑指南小结的文章就介绍到这了,更多相关java YYYY-MM-dd内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!

本文标题为:java日期格式化YYYY-MM-dd遇坑指南小结

基础教程推荐