欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JavaScript日期库date-fn.js使用方法解析

程序员文章站 2022-06-09 20:42:23
用javascript处理日期并不容易。因此,如果您查看大多数应用程序的 package.json 文件,通常会在其中找到像 moment.js 这样的库。它对开发人员对解析/格式化/计算日期而言不再...

用javascript处理日期并不容易。因此,如果您查看大多数应用程序的 package.json 文件,通常会在其中找到像 moment.js 这样的库。

它对开发人员对解析/格式化/计算日期而言不再那么艰巨,但 moment.js 是最早臭名昭著的库之一。

但是您知道一个名为 date-fns 的库吗?

JavaScript日期库date-fn.js使用方法解析

date-fn官网

date-fns 通常被认为是 moment.js 的一个有价值的替代品。不仅因为它提供了相同的特性集,而且它还吸引了函数式程序员。

安装 date-fns

您可以使用npm/yarn安装date-fns,官方网站:https://date-fns.org/

格式化date

格式化日期是 moment.js/date-fns 之类的库的基本功能,这是因为原生javascript没有简单的方法来处理此问题。

date-fns使用类似于moment.js的字符串模式:

就这么简单!有很多方法可以格式化日期,使它们看起来与您希望的完全一样。

加/减日期

现在我们可以格式化日期了,那么对日期执行加减法呢?有几个函数可以做到这一点:

  • adddays - 加天
  • subdays - 减天
  • addweeks - 加周
  • subweeks - 减周
  • addmonths - 加月
  • submonths - 减月

在下面的例子中,我们在一个指定的日期上加上1年:

本地化和国际化

格式化很简单,但是locale呢?我们知道用户将从世界各地访问您的网站,我们不想假设他们说我们的母语。

为此,我们可以导入特定的语言环境插件:

国际化支持也很好

JavaScript日期库date-fn.js使用方法解析

比较两个日期

对于一个日期操作库来说,计算两个日期之间的差的能力是非常重要的。date-fns提供了几个函数来计算这个值。

例如,我们可以计算从1月1日到圣诞节的天数(以及“营业日”!):

date-fns是轻量级的

用moment.js的最大弊端之一是,它的api无法导入单个函数。

使用date-fns,您只需获取所需的特定功能(与lodash相似):

这使得date-fns的依赖性比moment.js小得多,有关moment.js与date-fns的捆绑包大小,请参见下图:

JavaScript日期库date-fn.js使用方法解析

source: bundlephobia

总结

date-fns目前似乎比moment .js得到了更多的开发工作,因此,它确实维护得很好。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。