Moment.js 转换 UTC 格式的 2 个小问题

在使用 Moment.js 转换为 UTC 格式的时候,我们可能会遇到 2 个小问题。

如果你使用

('2021-11-01T19:39:00.000').utc().format();

来进行 UTC 时间转换的话,你会发现你输入时间和输出时间是不同的。

转换时区

如果上面所描述的,在结果中,我们看到如下图

moment-01

输入的时间,我们实际上使用 UTC 的时间,但是在转换成功后,我们会发现 2 个时间有偏差。

有这个偏差的原因就是当前你的计算机的时间。

从下图我们可以看到:

moment-02

在对象初始化的时候,是否是 UTC 的时间参数选项是 false。

因此才会出现偏差。

如果你已知的输入时间是 UTC 时间的话,你可以使用下面的代码:

moment.utc('2021-11-01T19:39:00.000').format();

moment-03

这样的方式初始化对象的话,对象的时间标记将会标记为 UTC 时间。

format 函数没有毫秒

聪明的你可能会看到,如果你使用 format() 函数进行格式化 ISO 时间的话是没有毫秒的。

如果你希望你的时间对象格式化输出后有毫秒数据。

你应该使用的方法是:

toISOString()

考察下面的代码:

moment.utc('2021-11-01T19:39:00.000').toISOString()

如下图所示,下面的代码格式化输出后将会有毫秒数据:

moment-04

这是在实际使用的时候需要注意一下的地方。

Moment.js 转换 UTC 格式的 2 个小问题 - 前端 - OSSEZ

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HoneyMoose

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值