日期YYYY-mm-dd与yyyy-mm-dd区别

一篇关于编程中日期格式化问题的博客,作者通过实例展示了如何因为使用`YYYY`代替`yyyy`导致日期跨年错误,解释了`YYYY`与`yyyy`的区别,并提醒程序员们注意细节的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有没有经历过这样的事情。。。
当天由于玩的太嗨晚上睡的有点晚,结果第二天醒来打开了某app,日常浏览 却猛然发现 已经进入了下一年,对没错,我明明记得我一直过的是2021年 而且昨天还是2021年12月25日圣诞节,怎么一觉醒来就到了2022年,吓得我立马蹦起来,现实版穿越?不。。。。我想回到过去 改变历史🥲,而不是到未来😶‍🌫️。
仔细翻腾一番确定是这款app的问题,此时一阵坏念涌上心头,祭天。。。

其实这也不能怪测试,毕竟这种问题,,,真是不容易测出来。

Talk is cheap ,show me the code

 public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        calendar.set(2021, Calendar.DECEMBER, 26);
        Date strDate = calendar.getTime();
        System.out.println(strDate);
        DateFormat formatUpperCase = new SimpleDateFormat("yyyy-MM-dd");
        System.out.println("2021-12-26 to yyyy-MM-dd: " + formatUpperCase.format(strDate));
        formatUpperCase = new SimpleDateFormat("YYYY-MM-dd");
        System.out.println("2021-12-26 to YYYY/MM/dd: " + formatUpperCase.format(strDate));
    }

运行结果
在这里插入图片描述
看到没 格式的问题 所以说作为程序员的我们 那心可是得像针尖一样。

YYYY
Y : week-based-year 是以周来决定年份
所以只要本周跨年,那么本周的第一天就会进入下一年,所以会显示 2022年
此处还要注意⚠️按照国际标准,每周是以周日为一周的开始
在这里插入图片描述
2021年 12月26日~2022年1月1日 这一周是跨年的 ,2022年1月1日是这一周的周六,所以就会在26号就显示2022年

然而

yyyy
y:year-of-era;是以天为基准显示年份的 ,正正经经的年,即元旦过后;第二天00:00时即改变年份

呜呼,一个粗心而影响的错位时空,你说应不应该,祭天😇

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值