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

简介: 传说日期格式化的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 算年周好像是对的,但是不确定。


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


相关文章
|
前端开发 JavaScript
😲完了完了,forEach异步执行,怎么后面的先完成了!?
代码review,业务里的代码千奇百怪,到底还能遇到什么呢?oh no,真的有人在forEach里用异步调用!
730 0
|
存储 前端开发 JavaScript
useRef 钩子使用技巧
【10月更文挑战第12天】本文详细介绍了 React 中的 `useRef` Hook,包括其基础概念、基本用法、常见问题与易错点以及如何避免这些问题。通过具体代码示例,解释了 `useRef` 的应用场景,如保存对 DOM 元素的引用、保存回调函数和定时器 ID 等,帮助开发者更有效地使用这一工具。
428 14
|
JSON 前端开发 安全
XHR 和 Fetch方法小知识
【6月更文挑战第7天】XHR 和 Fetch方法小知识
986 0
|
缓存 前端开发 JavaScript
前端优化之路:打包文件拆包、增加哈希值
前面对项目打包做了优化处理,但是还不够完美,有两点可继续优化。
|
移动开发 JavaScript 定位技术
百度地图开发:地图调起API(Web端)使用终点经纬度直接调用百度地图导航信息的解决方案
百度地图开发:地图调起API(Web端)使用终点经纬度直接调用百度地图导航信息的解决方案
767 0
|
缓存 人工智能 数据可视化
LLM 大模型学习必知必会系列(十一):大模型自动评估理论和实战以及大模型评估框架详解
LLM 大模型学习必知必会系列(十一):大模型自动评估理论和实战以及大模型评估框架详解
LLM 大模型学习必知必会系列(十一):大模型自动评估理论和实战以及大模型评估框架详解
|
JavaScript 前端开发 开发者
介绍如何在WebStorm中调试JavaScript文件
介绍如何在WebStorm中调试JavaScript文件
533 1
|
前端开发
前端 CSS 经典:弧形边框选项卡
前端 CSS 经典:弧形边框选项卡
792 0
【el-cascader-plus亲测有限】el-cascader级联选择器懒加载+多选功能回显失败解决方案
【el-cascader-plus亲测有限】el-cascader级联选择器懒加载+多选功能回显失败解决方案
1572 0