YYYY-MM-dd和yyyy-MM-dd的区别

来自姬鸿昌的知识库
Jihongchang讨论 | 贡献2022年10月21日 (五) 12:18的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

https://www.bilibili.com/video/BV1UG4y1p796

“yyyy-MM-dd”这种格式化对于年份的取值取的是当天所在的这个年份;

而“YYYY-MM-dd”取的年份是本周所在的这个年份。


所以要注意:跨年周的情况

比如:2021年12月27日到2022年1月2日是周一到周日

2021-12-27 2021-12-28 2021-12-29 2021-12-30 2021-12-31 2022-01-01 2022-01-02
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class Test {

    public static void main(String[] args) throws ParseException {

        //生成日期
        Calendar c = Calendar.getInstance();
        //month – the value used to set the MONTH calendar field. Month value is 0-based. e.g., 0 for January.
        c.set(2021, 11, 31);
        Date d = c.getTime();

        //定义格式化
        SimpleDateFormat fA = new SimpleDateFormat("yyyy-MM-dd");
        SimpleDateFormat fB = new SimpleDateFormat("YYYY-MM-dd");

        //根据不同的格式化输出日期
        System.out.println(fA.format(d));
        System.out.println(fB.format(d));

    }
}
2021-12-31
2022-12-31