JAVA日期格式YYYY-MM-DD与yyyy-MM-dd的区别

有下面一段代码:

public static void main(String[] args) {
    DateTime date = new DateTime(2019, 12, 31, 0, 0);

    SimpleDateFormat format = new SimpleDateFormat("YYYY-MM-dd");
    System.out.println(format.format(date.toDate()));

    SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd");
    System.out.println(format2.format(date.toDate()));
}

控制台输出的结果是,不信你可以试下:

2020-12-31
2019-12-31

为什么会这样呢,那是因为YYYY是week-based-year,表示当天所在的周属于的年份,一同从周日开始,周六结束,只要本周跨年那么这周就算入下一个年份中。所以2019年12月31日那天在这种转换方式下就是2020年。而当倩yyyy这种情况下年份就是2019。

你可能感兴趣的:(JAVA日期格式YYYY-MM-DD与yyyy-MM-dd的区别)