2022-01-01 关于日期格式化的YYYY 的坑。

跨年了,踩坑了,大家踩到没。

传说日期格式化的YYYY会出问题,我一直都是这么写的呀,也没注意过。

赶紧看看有没有问题。

前端使用 dayjs 进行日期格式化,于是看看效果:

_dayjs('2021-12-31').format('YYYY-MM-DD')
"2021-12-31"
_dayjs('2021-12-30').format('YYYY-MM-DD')
"2021-12-30"
_dayjs('2022-1-1').format('YYYY-MM-DD')
"2022-01-01"

大写的YYYY没有问题。
那么小写的呢?

_dayjs('2022-1-1').format('yyyy-MM-DD')
"yyyy-01-01"

dayjs 不支持yyyy,不过似乎支持gggg,我们来看一下效果。

_dayjs('2022-1-1').format('gggg-MM-DD')
"2022-01-01"
_dayjs('2021-12-31').format('gggg-MM-DD')
"2022-12-31"

dayjs 里面,小写的gggg 是有问题的,大家有没有用过?记得element-plus 的官网用过。

再来看看“年周”的情况。

_dayjs('2022-1-1').format('gggg-ww')
"2022-01"
_dayjs('2022-1-1').format('YYYY-ww')
"2022-01"

一月一日周六,应该算是去年的周吧,今年的第一周不是应该从一月二日开始算吗?哎,这个一年的第一周到底怎么算?

_dayjs('2021-12-31').format('gggg-ww')
"2022-01"
_dayjs('2021-12-31').format('YYYY-ww')
"2021-01"

年底的年周,YYYY肯定有问题,怎么算也不能算作2021年的第一周。
gggg有没有问题呢?去年的最后一个(不完整)的周算作今年的第一周吗?

似乎小写的 gggg-ww 算年周好像是对的,但是不确定。

谁知道一年的第一周到底怎么算?

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容