Moment.js 转换 UTC 格式的 2 个小问题
在使用 Moment.js 转换为 UTC 格式的时候,我们可能会遇到 2 个小问题。
如果你使用
('2021-11-01T19:39:00.000').utc().format();
来进行 UTC 时间转换的话,你会发现你输入时间和输出时间是不同的。
转换时区
如果上面所描述的,在结果中,我们看到如下图
输入的时间,我们实际上使用 UTC 的时间,但是在转换成功后,我们会发现 2 个时间有偏差。
有这个偏差的原因就是当前你的计算机的时间。
从下图我们可以看到:
在对象初始化的时候,是否是 UTC 的时间参数选项是 false。
因此才会出现偏差。
如果你已知的输入时间是 UTC 时间的话,你可以使用下面的代码:
moment.utc('2021-11-01T19:39:00.000').format();
这样的方式初始化对象的话,对象的时间标记将会标记为 UTC 时间。
format 函数没有毫秒
聪明的你可能会看到,如果你使用 format() 函数进行格式化 ISO 时间的话是没有毫秒的。
如果你希望你的时间对象格式化输出后有毫秒数据。
你应该使用的方法是:
toISOString()
考察下面的代码:
moment.utc('2021-11-01T19:39:00.000').toISOString()
如下图所示,下面的代码格式化输出后将会有毫秒数据:
这是在实际使用的时候需要注意一下的地方。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2018-11-15 Windows 10 设置 Java 环境变量
2018-11-15 Windows 环境下安装 Oracle JDK
2018-11-15 Java 本地环境设置
2018-11-15 Java 环境变量