亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

?Day.js 2kB超輕量時間庫 和Moment.js一樣的API

標簽:
JavaScript

https://img1.sycdn.imooc.com//5d58bff80001c3ca08180523.png

Screen Shot 2018-04-24 at 10.10.10 AM.png

Moment.js 是一个大而全的 JS 时间库,很大地方便了我们处理日期和时间。但是 Moment.js太重了(200k+ with locals),可能一般项目也只使用到了她几个常用的API。虽然社区也有几个轻量的时间库,要想迁移过去又会增加新的学习和迁移成本。

如果能有一个和 Moment.js 一样语法,一样功能,又轻量的库该多好!

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

Day.js 基本用法如下,相同的API,相同的链式操作。

dayjs().startOf('month').add(1, 'day').set('year', 2018).format('YYYY-MM-DD HH:mm:ss');
  • 和 Moment.js 相同的 API 和用法

  • 不可变数据 (Immutable)

  • 支持链式操作 (Chainable)

  • 仅 2kb 大小的微型库

  • 全浏览器兼容

Day.js 虽然仅有 2kb 大小,但是功能一点都没有阉割。包含了时间处理的全部常用方法。

</br>

文档地址 (中文)

喜欢可以给个star鼓励一下吗
https://github.com/xx45/dayjs

</br>


如果您的项目里没有其他国家语言本地化的需求,那想缩小打包体积,提升开发体验只需要 replace(/moment/g, 'dayjs') 全局替换一下。就能从 Moment.js + locals 200kb 减小成 dayjs 2kb的体积。所有的API调用都保持不变,无需修改。

来感受一下 Dayjs 的语法吧,是不是很看起来亲切呢  (没错 这就是 moment 的语法嘛)

创建

dayjs() // 当前时间dayjs('1995-12-25') // 1995-12-25dayjs(Date.now() - 24 * 60 * 60 * 1000) // 昨天

格式化

dayjs().format('YYYY年MM月DD日 HH:mm:ss') // 2018年08月08日 00:00:00dayjs().format('[YYYY]') // "[2018]"。[] 里的会原样输出。

操作

dayjs().add(7, 'days') // 之后的第7天dayjs().subtract(1, 'months') // 上个月dayjs().startOf('months') // 获取一月初 dayjs().endOf('year') // 获取一年年末

查询

dayjs('2010-10-20').isBefore('2010-10-21') // 早于dayjs('2010-10-20').isAfter('2010-10-19') // 晚于dayjs().isLeapYear() // 闰年

issue and pr's welcome

欢迎来issue和pr哦
https://github.com/xx45/dayjs



作者:朱昆iamkuncom
链接:https://www.jianshu.com/p/afaf5468d814


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消