JavaScript如何将日期转为MM/DD/YYYY格式并补全单数字月份前导0
如何将日期格式化为带前导零的MM/DD/YYYY格式?
现有日期对象 lastDayDate,控制台输出为:
Sun Apr 30 2023 00:00:00 GMT-0500 (Central Daylight Time)
使用以下代码格式化后:
formattedDate = lastDayDate.toLocaleString().split(',')[0]; console.log(formattedDate);
得到的结果是 4/30/2023,需要修改为带前导零的格式 04/30/2023,可以通过以下几种方式实现:
方法一:利用toLocaleDateString的配置参数
直接通过配置选项指定月份和日期的格式,确保前导零存在:
const formattedDate = lastDayDate.toLocaleDateString('en-US', { month: '2-digit', day: '2-digit', year: 'numeric' }); console.log(formattedDate); // 输出: 04/30/2023
方法二:手动提取日期分量并补零
分别获取年、月、日,对月份和日期小于10的情况补前导零,再拼接成目标格式:
const year = lastDayDate.getFullYear(); const month = String(lastDayDate.getMonth() + 1).padStart(2, '0'); // 月份从0开始,需加1 const day = String(lastDayDate.getDate()).padStart(2, '0'); const formattedDate = `${month}/${day}/${year}`; console.log(formattedDate); // 输出: 04/30/2023
方法三:使用Intl.DateTimeFormat
通过国际化API明确指定格式规则:
const formatter = new Intl.DateTimeFormat('en-US', { month: '2-digit', day: '2-digit', year: 'numeric' }); const formattedDate = formatter.format(lastDayDate); console.log(formattedDate); // 输出: 04/30/2023
内容的提问来源于stack exchange,提问作者William
相关产品推荐
相关产品推荐

