精选Moment.js功能强大,应用广泛,有详细的中文文档。不再维护,体积大,官方不推荐用于新项目。Luxon由Moment.js的原始开发人员编写。没有中文文档。资料很少。star数:13.6KDate-fns支持Treeshaking,可以按需引入。没有中文文档,资料也很少。星数:31.1KDay.js是一个轻量级的JavaScript日期库,它提供了类似于Moment.js的API,并且体积更小。它支持链接操作、格式化和持续时间计算。Day.js还提供了一个插件系统,可以根据需要扩展其功能。有中文文件。star数:42.4KDay.js常用APIletdayjs=require('dayjs')//1formatformattimeconsole.log(dayjs('2018-04-04T16:00:00.000Z').format('YYYY-MM-DDHH:mm:ss'),'format-format-format-format')//2isValid检查是否为合法日期varcustomParseFormat=require('dayjs/plugin/customParseFormat')console.log(dayjs('2022-01-33').isValid(),'non-strictisValid')console.log(dayjs('xxx').isValid(),'non-strictisValid')dayjs.extend(customParseFormat)console.log(dayjs('2022-02-31','YYYY-MM-DD',true).isValid(),'strictisValid')//3day获取或设置星期几。传递一个从0(星期日)到6(星期六)的数字。如果超出此范围,则将其带到其他周。console.log(dayjs().day(),'获取星期几')console.log(dayjs().day(3).format('YYYY-MM-DD'),'设置为星期几oftheweek')//几天后添加console.log(dayjs().add(7,'day').format('YYYY-MM-DD'),'几天后')//5locale实例更改语言dayjs默认一周的第一天是星期日,星期六是最后一天,'zh-cn'作为参数传入。默认遵循中文区require('dayjs/locale/zh-cn')console.log(dayjs().locale('zh-cn').startOf('week').format('YYYY-MM-DD'),'startOf-startOf-startOf')console.log(dayjs().startOf('week').format('YYYY-MM-DD'),'startOf-startOf-startOf')//6从现在到现在相差多长时间varrelativeTime=require('dayjs/plugin/relativeTime')dayjs.extend(relativeTime)console.log(dayjs('1999-01-01').fromNow(true),'fromNow-fromNow-fromNow')//7diff返回指定单元中两个日期时间之间的差异。constdiffDate1=dayjs('2019-01-25')constdiffDate2=dayjs('2018-06-05')console.log(diffDate1.diff(diffDate2,'month'),'差异-差异-差异')//8valueOf毫秒时间戳console.log(+dayjs('2019-01-25').valueOf(),'Unix-Unix-Unix')//9daysInMonth这个月的天数console.log(dayjs('2019-02').daysInMonth(),'daysInMonth-daysInMonth-daysInMonth')//10toObject返回包含时间信息的Object。vartoObject=require('dayjs/plugin/toObject')dayjs.extend(toObject)console.log(dayjs('2023-03-06').toObject(),'toObject-toObject-toObject')//11isBeforeDay.js对象是否在另一个提供的日期时间之前。console.log(dayjs('2010').isBefore(dayjs('2011')),'isBefore-isBefore-isBefore')//12isBetween表示Day.js对象是否在其他两个日期时间之间。varisBetween=require('dayjs/plugin/isBetween')dayjs.extend(isBetween)console.log(dayjs('2010-10-18').isBetween('2010-10-19',dayjs('2010-10-25')),'isBetween-isBetween-isBetween')//13dayOfYear表示Dayjs的日期是年中的第几天,或者设置为年中的第几天。vardayOfYear=require('dayjs/plugin/dayOfYear')dayjs.extend(dayOfYear)console.log(dayjs('2023-03-06').dayOfYear(),'dayOfYear-dayOfYear-dayOfYear')console.log(dayjs('2023').dayOfYear(65).format('YYYY-MM-DD'),'dayOfYear-dayOfYear-dayOfYear')//14QuarterOfYear添加.quarter()API返回当前实例是哪个季度varquarterOfYear=require('dayjs/plugin/quarterOfYear')dayjs.extend(quarterOfYear)console.log(dayjs('2023-03-06').quarter())
