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

如何从moment().format()输出中提取YYYY-MM-DD格式日期?

嘿,这问题其实挺容易解决的,用Moment.js的原生方法就能轻松搞定,比自己手动处理字符串靠谱多了,给你几种方案参考:

提取YYYY-MM-DD格式日期的方法

1. 直接生成目标格式(最推荐)

既然你是用moment()创建的时间对象,完全不用先生成带时区的完整字符串,直接调用format()时指定YYYY-MM-DD格式就行:

const targetDate = moment().format('YYYY-MM-DD');
// 输出示例:"2018-05-30"

这种方式最稳妥,Moment会帮你处理好时区、日期计算等所有细节,不会因为格式变化出问题。

2. 从已有的完整字符串转换

如果你手里已经拿到了像2018-05-30T11:38:04+10:00这样的字符串,也可以把它传入Moment再格式化:

const fullDateTimeStr = "2018-05-30T11:38:04+10:00";
const dateOnly = moment(fullDateTimeStr).format('YYYY-MM-DD');
// 输出:"2018-05-30"

3. 字符串截取(应急方案,不推荐)

要是实在不想用Moment的方法,也可以利用ISO格式的固定结构——日期部分正好是字符串的前10个字符,直接截取就行:

const fullDateTimeStr = "2018-05-30T11:38:04+10:00";
const dateOnly = fullDateTimeStr.slice(0, 10);
// 输出:"2018-05-30"

不过这种方法依赖字符串的固定格式,哪天格式变了(比如不是标准ISO格式)就会失效,所以还是优先用前两种原生方法哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:03:27