JS时间框架之舍弃Moment.js拥抱Day.js

什么是Day.js

Day.js 是一个轻量的处理时间和日期的 JavaScript 库,和 Moment.js 的 API 设计保持完全一样. 如果您曾经用过 Moment.js, 那么您已经知道如何使用 Day.js

简单地说,只要你会Moment.js,那么你就会Day.js!

但是我们知道的,Moment.js 的大小是200多k,

Day.js的大小是2kB

100倍的差距,拥有同样强大的 API

JS时间框架之舍弃Moment.js拥抱Day.js

 

安装

npm install dayjs --save

国际化

Day.js 支持几十个国家语言

但除非手动加载,多国语言默认是不会被打包到工程里的

你可以随意在各个语言之间自由切换:

JS时间框架之舍弃Moment.js拥抱Day.js

 

JS时间框架之舍弃Moment.js拥抱Day.js

 

很爽对不对,同时还支持局部指定语言,就是说,你可以这个时间使用中文,那个时间使用英文,或者做一个按钮,让用户可以随意切换!全凭你自己的意愿。

dayjs('2018-05-05').locale('zh-cn').format() // 在这个实例上使用简体中文

API

Day.js 有很多 API 来解析、处理、校验、增减、展示时间和日期

dayjs('2018-08-08') // 解析

dayjs().format('{YYYY} MM-DDTHH:mm:ss SSS [Z] A') // 展示

dayjs().set('month', 3).month() // 获取

dayjs().add(1, 'year') // 处理

dayjs().isBefore(dayjs()) // 查询

API链接

https://github.com/iamkun/dayjs/blob/master/docs/zh-cn/API-reference.md

插件

插件是一些独立的程序,可以给 Day.js 增加新功能和扩展已有功能

默认情况下,Day.js 只包含核心的代码,并没有安装任何插件

您可以加载多个插件来满足您的需求

例如官方提供的插件就有:

  • AdvancedFormat 扩展了 dayjs().format API 以支持更多模版
  • RelativeTime 增加了 .from .to .fromNow .toNow 4个 API 来展示相对的时间 (e.g. 3 小时以前).
  • IsLeapYear 增加了 .isLeapYear API 返回一个 boolean 来展示一个 Dayjs's 的年份是不是闰年.
  • WeekOfYear 增加了 .week() API 返回一个 number 来表示 Dayjs 的日期是年中第几周.
  • IsSameOrAfter 增加了 .isSameOrAfter() API 返回一个 boolean 来展示一个时间是否和一个时间相同或在一个时间之后.
  • IsSameOrBefore 增加了 .isSameOrBefore() API 返回一个 boolean 来展示一个时间是否和一个时间相同或在一个时间之前.

等等。。。。。。。。。

当然,你如果感兴趣也可以自己定义一个插件:

JS时间框架之舍弃Moment.js拥抱Day.js
原文地址:https://www.cnblogs.com/wangsongbai/p/10299669.html