本周,我们进行了报道的基本日期格式设置日期
管而且的dateFormat
函数.虽然这些工具在大多数基本场景下工作得很好,但有时我们想做更复杂的日期操作,例如:
- 在日期上加/减天数
- 显示一个持续时间,例如:"最近更新:2天前”
- 比较日期
大多数人在这种情况下使用Moment.js,但是js现在正式完成了并且处于维护模式。
最好的选择之一是date-fns.它使用现代Javascript,并尽可能依赖于本机Date对象。如果你以前用过Moment.js,date-fns
看起来很熟悉:
进口{format, formatDistance, formatRelative, subDays}从“date-fns”格式(新日期(),“‘今天是‘eeee’”)//=> "今天是星期五"formatDistance (subDays (新日期(),3.),新日期() {addSuffix:真正的})//=> "3 days ago"formatRelative (subDays (新日期(),3.),新日期())//=> "last Friday at 7:26 p.m. ."
代码语言:JavaScript(javascript)
该库包含一些有趣的帮助函数,例如closestTo
获取数组中最接近给定日期的日期,或formatDistanceToNow
,它返回有意义的、可读的距离,比如“不到一分钟”或“大约一个月”。
这些特性都是独立的函数,这对于Angular应用来说非常棒,因为它允许在构建时摇树(只有我们需要的函数包含在构建输出中),而Moment只有一个时刻()
函数中包含了所有东西,防止了正确的摇树。