编写函数实现日期格式转换:从DD/MM/YYYY转为Month DD, YYYY(用数组转月份名)
日期格式转换:DD/MM/YYYY 转 Month DD, YYYY
这里提供一个JavaScript实现的函数,用数组映射数字月份到英文名称,完成格式转换:
function convertDateFormat(dateStr) { // 索引0占位,让1-12直接对应数组的1-12位 const monthNames = [ '', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December' ]; // 拆分日期字符串为日、月、年 const [day, month, year] = dateStr.split('/'); // 转换月份数字为英文名称 const targetMonth = monthNames[parseInt(month, 10)]; // 拼接成目标格式 return `${targetMonth} ${day}, ${year}`; } // 测试示例 console.log(convertDateFormat('31/03/2022')); // 输出: March 31, 2022
实现说明
- 月份数组设计:把数组第0位留空,这样输入的1-12月数字可以直接作为索引取对应名称,不用额外做
-1的偏移处理,逻辑更直观; - 字符串拆分:用
split('/')按斜杠分割输入字符串,解构出日、月、年三个部分; - 格式拼接:按
Month DD, YYYY的结构组合各部分,返回最终结果。
可选优化(非必需)
如果需要处理格式不合法的输入,可以添加校验逻辑,比如:
function convertDateFormat(dateStr) { const monthNames = [ '', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December' ]; const parts = dateStr.split('/'); if (parts.length !== 3) { return '输入格式错误,请使用DD/MM/YYYY格式'; } const [day, month, year] = parts; const monthNum = parseInt(month, 10); if (monthNum < 1 || monthNum > 12) { return '月份无效,请输入1-12之间的数字'; } const targetMonth = monthNames[monthNum]; return `${targetMonth} ${day}, ${year}`; }
内容的提问来源于stack exchange,提问作者Sagar Singh
相关产品推荐
相关产品推荐

