day.js(Star 28.1k)
github:https://github.com/iamkun/dayjs
一个 2KB 的 JS 日期时间库,和 Moment.js 的 API 设计保持完全一样. 如果您曾经用过 Moment.js, 那么您已经知道如何使用 Day.js。
示例
dayjs()
.startOf('month')
.add(1, 'day')
.set('year', 2018)
.format('YYYY-MM-DD HH:mm:ss')
特征
- 🕒 和 Moment.js 相同的 API 和用法
- 💪 不可变数据 (Immutable)
- 🔥 支持链式操作 (Chainable)
- 🌐 国际化 I18n
- 📦 仅 2kb 大小的微型库
- 👫 全浏览器兼容
date-fns(Star 23k)
官网:https://date-fns.org/
github:https://github.com/date-fns/date-fns
现代JavaScript日期实用程序库
date-fns提供了最全面,最简单且一致的工具集,用于在浏览器和Node.js中操纵JavaScript日期。
轻巧、功能强大,可代替moment.js,参考【转】你可能不需要Moment.js
**
格式化示例
import { format, formatDistance, formatRelative, subDays } from 'date-fns'
format(new Date(), "'Today is a' iiii")
//=> "Today is a Thursday"
formatDistance(subDays(new Date(), 3), new Date())
//=> "3 days ago"
formatRelative(subDays(new Date(), 3), new Date())
//=> "last Friday at 7:26 p.m."
区别
如果你只需要简单的操作那么day.js
更适合你,如果复杂一点的项目那么date-fns
看起来更合适。