You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Moment.js更优获取ISO 8601格式的当前日期?

关于Moment.js获取ISO 8601格式当前日期的最优实现

首先要明确:moment().toISOString().substring(0, 10)这个写法有隐藏问题——toISOString()返回的是UTC时区的ISO字符串,如果本地时间接近午夜,UTC日期可能和本地日期不一致,导致结果出错。比如本地时间是2024-05-20 23:40,UTC时间已经是2024-05-21 03:40,这时截出来的日期就会是2024-05-21,和实际本地日期不符。

回到你的需求,获取ISO 8601格式的日期(YYYY-MM-DD),最优的写法就是你一开始用的moment().format('YYYY-MM-DD'):

moment().format('YYYY-MM-DD')

这个写法直接输出本地时区的标准ISO日期格式,语义清晰,没有时区隐患,而且Moment.js的格式化规则就是为这类场景设计的,完全不需要额外的字符串截取操作。

如果你的需求是获取UTC时区的ISO日期,只需要加上.utc()即可:

moment.utc().format('YYYY-MM-DD')

内容的提问来源于stack exchange,提问作者Jon Snow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 21:44:57