yyyy-MM-dd和YYYY-MM-dd不是一样的吗?

简介: 最近的一个项目中遇到了一个非常有趣的bug,原来yyyy-MM-dd和YYYY-MM-dd是有差异的,具体有什么不同呢?

例子:

publicclassDateTest {
publicstaticvoidmain(String[] args) {
Calendarcalendar=Calendar.getInstance();
calendar.set(2019, Calendar.AUGUST, 31);
DatestrDate=calendar.getTime();
DateFormatformatUpperCase=newSimpleDateFormat("yyyy-MM-dd");
System.out.println("2019-08-31 to yyyy-MM-dd: "+formatUpperCase.format(strDate));
formatUpperCase=newSimpleDateFormat("YYYY-MM-dd");
System.out.println("2019-08-31 to YYYY/MM/dd: "+formatUpperCase.format(strDate));
  }
}

运行结果为:

2019-8-31toyyyy-MM-dd: 2019-8-312019-8-31toYYYY/MM/dd: 2019-8-31

如果改成12月呢?结果是:

2019-12-31toyyyy-MM-dd: 2019-12-312019-12-31toYYYY-MM-dd: 2020-12-31


那么产生这个问题的原因是什么呢?其实很简单:Y 和 y 实际上代表了不同的含义。


  • y:year-of-era;正正经经的年;
  • Y:week-based-year;只要本周跨年,那么这周就算入下一年;


所以,开发同学还是正正经经用yyyy吧!!!!!!!

相关文章
2021-10-10T16:00:00.000Z: expected format yyyy-MM-dd HH:mm:ss 时间戳格式化
2021-10-10T16:00:00.000Z: expected format yyyy-MM-dd HH:mm:ss 时间戳格式化
171 0
|
7月前
yyyy-MM-dd'T'HH:mm:ss.SSSZZ和yyyy-MM-dd'T'HH:mm:ss.SSSXXX之间的区别
【5月更文挑战第7天】yyyy-MM-dd'T'HH:mm:ss.SSSZZ和yyyy-MM-dd'T'HH:mm:ss.SSSXXX之间的区别
403 0
|
7月前
|
JavaScript
Vue 获取当前日期(时间,格式为YYYY-MM-DD HH:mm:ss)
Vue 获取当前日期(时间,格式为YYYY-MM-DD HH:mm:ss)
847 0
|
7月前
|
前端开发 Java
关于时间格式yyyy-M-d或yyyy-MM-d到yyyy-MM-dd的转换
关于时间格式yyyy-M-d或yyyy-MM-d到yyyy-MM-dd的转换
101 0
|
JavaScript 前端开发
【JS】获取当前时间,且格式为yyyy-MM-dd hh:mm:ss
【JS】获取当前时间,且格式为yyyy-MM-dd hh:mm:ss
228 0
|
Java 关系型数据库 BI
ES 中时间日期类型 “yyyy-MM-dd HH:mm:ss” 的完全避坑指南
ES 中时间日期类型 “yyyy-MM-dd HH:mm:ss” 的完全避坑指南
ES 中时间日期类型 “yyyy-MM-dd HH:mm:ss” 的完全避坑指南
|
7月前
joda time将10位或者13位时间戳转为标准日期格式: yyyy-MM-dd HH:mm:ss
joda time将10位或者13位时间戳转为标准日期格式: yyyy-MM-dd HH:mm:ss
113 0
|
JavaScript 前端开发 数据库
如何将当前时间为:Sun Jan 08 16:47:00 CST 2023格式转换成“yyyy-MM-dd HH:mm:ss“
如何将当前时间为:Sun Jan 08 16:47:00 CST 2023格式转换成“yyyy-MM-dd HH:mm:ss“
204 0
|
NoSQL Java Redis
别再踩坑, yyyy-MM-dd和YYYY-MM-dd格式化日期的区别你知道吗?
别再踩坑, yyyy-MM-dd和YYYY-MM-dd格式化日期的区别你知道吗?
527 0
别再踩坑, yyyy-MM-dd和YYYY-MM-dd格式化日期的区别你知道吗?
|
Java
Java时间格式转换yyyyMMddHHmmss--yyyy-MM-dd HH:mm:ss
Java时间格式转换yyyyMMddHHmmss--yyyy-MM-dd HH:mm:ss
230 0