如何进行高级日期格式化?

本周,我们进行了报道的基本日期格式设置日期而且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. ."
代码语言:JavaScriptjavascript

该库包含一些有趣的帮助函数,例如closestTo获取数组中最接近给定日期的日期,或formatDistanceToNow,它返回有意义的、可读的距离,比如“不到一分钟”或“大约一个月”。

这些特性都是独立的函数,这对于Angular应用来说非常棒,因为它允许在构建时摇树(只有我们需要的函数包含在构建输出中),而Moment只有一个时刻()函数中包含了所有东西,防止了正确的摇树。

betway必威滚球

Alain是谷歌开发专家,擅长Web技术、Angular和谷歌地图。他的日常任务是帮助开发团队采用Angular,并使用该框架进行大规模构建。他在六大洲都教授过Angular !阿兰是一名世界旅行家和摄影师,也是国际会议的演讲者,并出版了几门视频课程。