You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// Moment.jsmoment().isoWeeksInYear();// => 52// date-fnsimportgetISOWeeksInYearfrom'date-fns/getISOWeeksInYear';getISOWeeksInYear(newDate());// => 52// dayjs ❌ does not support weeks in the year
Moment.js是一个很棒的时间和日期库,具有许多牛X的方法,平时
npm install
了之后就是干,但是如果您的Web应用程序对性能上有很高的要求,可能会由于其复杂的API和大小会导致巨大的性能上的比不要的开销。Moment存在的一些问题
Tree-shaking
代码优化技术dayjs
,dayjs
有一个较小的核心,并且具有非常相似的API,因此很容易从moment平滑过渡到day.js。date-fns可以使用Tree-shaking
代码优化技术和其他good api,因此它很适合与React,Sinon.js和webpack等好基友一起使用。简单比较
程序员吐槽
ESLint插件
如果你正在使用 ESLint, 你可以安装一个插件
plugin 来帮助你识别代码库中你没有(可能不需要)Moment.js的地方。
安装这个插件...
...然后更新你的配置
使用对比
解析
字符串+日期格式化
返回从字符串中解析的日期.
字符串+时间格式化
返回从字符串中解析的时间日期.
字符串+本地格式化
返回从字符串中解析的本地化时间日期.
取值 + 赋值
毫秒/秒/分/时
获取
毫秒 / 秒 / 分 / 时
。设置
毫秒 / 秒 / 分 / 时
。月份日期
设置&获取月份。
星期几
设置&获取星期。
一年的某一天
设置&获取一年的某一天。
一年的某一周
设置&获取一年的某一周。
某月有多少天
获取某月有多少天。
一年有多少周
根据ISO周,获取当年的周数。
获取日期最大值
返回给定日期的最大值。
获取日期最小值
返回给定日期的最小值。
操作比较
添加天数
将指定的天数添加到给定日期。
减去天数
从给定日期减去指定的天数。
获月初时间
获取这个月初时间。
获取今天结束的时间
获取今天结束的时间。
显示
格式化
用给定的格式格式化给定的字符串。
获取到现在的年限
获取到现在的年限
时差
返回两个时间点的时差。
时差(毫秒)
返回两个时间点的毫秒级时差。
查询
是否之前
检查日期是否在另一个日期之前。
是否一样
检查日期是否与另一个日期相同。
是否之后
检查日期是否在另一个日期之后。
是否在两个日期之前
检查日期是否在两个其他日期之间。
是否是闰年
判断是否是润年。
是否是日期对象
检查变量是否是js Date对象。
总结
如果你只需要简单的操作那么
day.js
更适合你,如果复杂一点的项目那么date-fns
看起来更合适。关于
本文由jon-millent译
The text was updated successfully, but these errors were encountered: