在 Java 中,日期格式化时,使用 y
表示日历年,使用 Y
表示星期年。
y
是标准的表示年份的字符,表示的是通常意义上的公历年。例如:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(sdf.format(new Date()));
Y
表示的是“星期年”或称“ISO 周年”,它是一种基于 ISO 周数的年份表示方式。使用 Y
可能会导致日期计算的错误,因为它依赖于周数的计算方式,不是每次都与实际的公历年份一致。例如:
SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd");
System.out.println(sdf.format(new Date()));
一般情况下,我们应使用 y
来表示日历年份,避免日期格式化错误。除非确实需要按照 ISO 周年的格式来解析和显示年份,才使用 Y
。
注意:本文归作者所有,未经作者允许,不得转载