转载

昨天你被YYYY-MM-DD坑了吗?

昨天看到论坛上有人发帖说是时间不对了,一个大bug,哈哈,下面我们来说下为什么吧。

Google了之后才发现是在格式化的时候由 YYYY 导致引起的,改回 yyyy 就好了。具体区别:

昨天你被YYYY-MM-DD坑了吗?

所以,YYYY 是以周为单位计算的,平常计算日期时最好用yyyy,yyyy才是标注的年份。

昨天你被YYYY-MM-DD坑了吗?

public static void main(String[] args) {

Calendar calendar = Calendar.getInstance();

// 2014-12-26

calendar.set(2010, Calendar.DECEMBER, 26);

Date strDate1 = calendar.getTime();

SimpleDateFormat f1 = new SimpleDateFormat("YYYY-MM-dd");

System.out.println("Result for YYYY: " + f1.format(strDate1));

SimpleDateFormat f2 = new SimpleDateFormat("yyyy-MM-dd");

System.out.println("Result for yyyy: " + f2.format(strDate1));

}


运行结果:

Result for YYYY: 2011-12-26

Result for yyyy: 2010-12-26

这个结果是在jdk的1.7版本的试验结果,其余版本什么结果不清楚。

java version "1.7.0_75"

Java(TM) SE Runtime Environment (build 1.7.0_75-b13)

Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)

喜欢 就关注吧,欢迎投稿!

昨天你被YYYY-MM-DD坑了吗?

原文  http://mp.weixin.qq.com/s?__biz=MzA3NzMxODEyMQ==&mid=2666455163&idx=1&sn=3e6e8f74398cfbd0a645a4d32e902141
正文到此结束
Loading...