yyyy-MM-dd和YYYY-MM-dd格式化日期的区别你知道吗?

前言:最近发现了Date包中的源码级bug,来与大家分享

本篇文章记录的基础知识,适合在学Java的小白,也适合复习中,面试中的大佬🤩🤩。
如果文章有什么需要改进的地方还请大佬不吝赐教

💖个人主页
💖谱尼学java

在这里插入图片描述

你知道yyyy-MM-dd和YYYY-MM-dd格式化日期有什么区别吗

这里yyyy-MM-dd对于年份取值取得是当天所在的这个年份
而YYYY-MM-dd它所取的年份是本周所在的这个年份

这里我们就要注意一个问题

如果我们所格式化的这个日期它所在的周是一个跨年周的话 , 那么这里所取的年份就是第二年的年

接下来我们找一个case验证一下:
通过查看日历我们可以看到2021年12月31号它所在的周是一个跨年周
它这周开始于21年12月26号,结束于22年1月2号

在这里插入图片描述

接下来我们来演示一下
首先看代码我们分别创建了yyyy和YYYY两种日期格式化
然后生成了12月31号的这个日期
然后分别用这两种格式化对这两种日期进行输出

在这里插入图片描述

出大问题了

通过输出可以看到YYYY输出的日期是2022年,yyyy输出的日期是2021年
这就是它们两个的区别
在这里插入图片描述

在平时的开发中尤其对于会员啊,投放啊这种日期敏感型的场景,一定避免使用YYYY这种日期敏感型格式,避免造成不必要的线上故障

如果这篇【文章】有帮助到你💖,希望可以给我点个赞👍,创作不易,如果有对Java后端或者对redis感兴趣的朋友,请多多关注💖💖💖
💖个人主页
💖谱尼学java

日期格式化中的yyyy-MM-dd,其中yyyy代表四位的年份,MM代表两位的月份,dd代表两位的日期。这种格式化方式可以将指定的日期按照年份-月份-日期的格式进行显示。 需要注意的是,yyyy-MM-dd中的yyyy表示真正的年份,而YYYY-MM-dd表示基于周的年份日期。如果一周处在跨年中,使用YYYY-MM-dd会将该周归入下一年,可能导致显示错误。因此,在日常使用中,建议采用以yyyy开头的格式化方式。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【MySQL】日期格式化 yyyy-mm-dd 详解 DATE_FORMAT() 函数](https://blog.csdn.net/diandianxiyu/article/details/127632330)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatgptT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [格式化时间字符串yyyy-MM-ddYYYY-MM-dd区别,HH:mm:ss和hh:mm:ss的区别,格式化LocalDateTime.now()和...](https://blog.csdn.net/weixin_43944305/article/details/103922671)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatgptT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿千弟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值