首页 >Java >java教程 >Java SimpleDateFormat 中的'Y”和'y”有什么区别?

Java SimpleDateFormat 中的'Y”和'y”有什么区别?

DDD
DDD原创
2024-12-26 06:02:14480浏览

What's the Difference Between 'Y' and 'y' in Java's SimpleDateFormat?

SimpleDateFormat 格式:'Y' 与 'y'

Java SimpleDateFormat 类允许您使用各种模式来格式化日期和时间。 “Y”和“y”这两种看似相似的模式实际上存在细微的差异,可能会导致意想不到的结果。

“Y”- 周年

“Y”模式格式化星期年。周年与 WEEK_OF_YEAR 周期对齐,这意味着该周期内的所有周都具有相同的周年值。然而,一周的第一天和最后一天可能有不同的日历年。

例如,如果一周的第一天是星期一,并且第一周的最小天数设置为 4 ( ISO 8601 标准),那么 2018 年的第 1 周从 2017 年 12 月 29 日开始,到 2018 年 1 月 4 日结束。在这种情况下,最后三天的星期是2017 年被视为 2018 年。

'y' - 年

另一方面,'y' 模式格式化日历年。它代表公历中的年份数字,与周周期无关。

示例比较

System.out.println(new SimpleDateFormat("Y").format(new Date())); // prints 2012
System.out.println(new SimpleDateFormat("y").format(new Date())); // prints 2011

在此示例中,“Y”返回 2012,因为当前日期在 2018 年的第 1 周内,2017 年最后三天的星期也被认为是2018。但是,“y”返回 2011,因为它只考虑日历年,即 2017 年作为第 1 周的开始。

以上是Java SimpleDateFormat 中的'Y”和'y”有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn