有无好的时间日期函数,或者库?

js默认的日期处理方式不合常理及逻辑:
1。星期几的表达
国际规则及中国规定:星期是从星期1开始的,不是星期日。
参见ISO 8601。

js将周日输出为0:(如果第一天是0,周日应当是6)
2023年1月15日是星期几:
console.log(new Date(2023,0,15).getDay());
0

2。month的调用更是不一致
需要得到本月几号星期几应当将本月减1,1月写成0:
需要得到本月一共有多少天,这个本月确不必减1了。
2023年1月15日是星期几:
console.log(new Date(2023,0,15).getDay());
0

2023年1月一共有多少天:
console.log(new Date(2023,1,0).getDate());
31

3。0表示这个月的最后一天
2023年的1月30日,需要这样写
console.log(new Date(2023,0,30));
Mon Jan 30 2023 00:00:00 GMT+0800 (Bei Jin Standard Time)
2023年的1月31日,需要这样写
console.log(new Date(2023,1,0));
Tue Jan 31 2023 00:00:00 GMT+0800 (Bei Jin Standard Time)

javascript的这种设计是反人类的。

有无好的js库或者函数做到:
周日表达成6,第一天是周一(0)
或者周日表达成7,第一天是周一(1);
month不再减1
一个月的最后一天不是0

阅读 2.5k
5 个回答

考虑到功能大而全那么推荐moment,其小而精的完美替代品是只有2kb的dayjs
希望能帮助到你。

新手上路,请多包涵

现在用的date-fns,里面有许多不错的时间函数

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏