【避坑指“难”】用Moment.js库将UTC格式时间转换成标准时间(YYYY-MM-DD)

319 阅读2分钟

1、在项目中install moment 库

npm install moment --save

2、引用

 import moment from 'moment'

3、方法定义 在这里插入图片描述

近日,Moment.js 库的维护者表示,Moment.js 将进入维护状态,后续将不会再对其进行更新,同时建议开发人员考虑替代方案。

Moment.js 是一个轻量级 JavaScript 日期处理类库,提供了日期格式化、日期解析等功能,诞生于 2011 年。近十年的时间里,Moment.js 收获了很多开发者的支持,周下载量已经超过 1200 万次,并已经成功用于数百万个项目中。虽然 Moment.js 是一个“元老级别”的库,但是它的底层设计依旧与 2011 年创建时基本相同,这也意味着 Moment.js 不能很好的适用于现代开发,所以团队决定让 Moment.js 止步于此。

Moment.js 进入维护状态意味着:

  • 不会再添加新功能;
  • 不会将 API 更改为 immutable;
  • 不会解决 Tree-shaking 或包体积的问题;
  • 不会对其进行任何重大更改(不会有 v3.0 版本);
  • 可能选择不修复 bug,特别是长期存在的已知 bug。

替代方案

1、不使用库

一些简单的时间处理需求,可以使用 JavaScript 自带的 Date 和 Intl。Intl 对象可以展示不同时区不同语言的日期格式,同时 Intl 在多数浏览器上都已经有了很好的支持。

2、Temporal

Temporal 被看作是未来内置的时间日期方案。它是 JavaScript 语言内置的时间和日期 API,现阶段可通过实验性的 polyfill 来尝试。Moment.js 团队表示,希望未来能够完全不需要 JavaScript 的日期和时间库,而是使用语言本身的功能。

3、其他替代库

除了 Temporal 之外,官方还推荐了 Luxon、Day.js、js-Joda 和 date-fns 等设计更优秀的时间日期库。其中 Day.js 凭借着拥有与 Moment.js 几乎相同的 API 而深受广大开发者的喜爱,感兴趣的朋友可以尝试一下。