JAVA日付フォーマットYYYY-MM-DDとyyyy-MM-ddの違い

642 ワード

次のコードがあります.
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-312019-12-31
なぜかというと、YYYYはweek-based-yearで、当日の曜日が属する年を表し、一緒に日曜日から土曜日が終わり、今週が年越しであれば今週は次の年に入るからです.だから2019年12月31日はこのような転換方式の下で2020年です.倩yyyyの場合、年は2019年です.