如何使用JavaScript将静态/常量日期转换为指定YYYY-MM-DD格式
实现方案
你原字符串是固定的MM/DD/YYYY格式,不需要修改原变量的赋值内容,只要对字符串做拆分重组就能得到目标格式,以下是两种常用实现方式:
方法1:纯字符串拆分(推荐,无兼容性/时区问题)
这种方法直接对原字符串按/分割,按顺序提取年、月、日拼接即可,逻辑最简单可控:
var TodaysDate ="12/02/2021"; // 按斜杠拆分得到 [月, 日, 年] 数组 const dateParts = TodaysDate.split('/'); // 按 YYYY-MM-DD 顺序拼接 const formattedDate = `${dateParts[2]}-${dateParts[0]}-${dateParts[1]}`; console.log(formattedDate); // 输出结果:2021-12-02
如果你的场景里可能出现单数字的月/日(比如1/5/2021),可以加补零逻辑适配:
var TodaysDate ="12/02/2021"; const [month, day, year] = TodaysDate.split('/'); const formattedDate = `${year}-${month.padStart(2, '0')}-${day.padStart(2, '0')}`; console.log(formattedDate);
方法2:通过Date对象处理(适合需要后续日期运算的场景)
如果后续还要对日期做计算、比对等操作,可以先转成Date对象再格式化:
var TodaysDate ="12/02/2021"; const date = new Date(TodaysDate); // getMonth返回值从0开始,需要+1,padStart保证月日都是两位 const formattedDate = `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')}`; console.log(formattedDate); // 输出结果:2021-12-02
注意:这种方法需要确保运行环境对MM/DD/YYYY格式的日期解析符合预期,避免时区差异导致日期偏移问题。
内容的提问来源于stack exchange,提问作者user1724708
相关产品推荐
相关产品推荐

