如何使用JavaScript将数值格式日期转换为带月份名称的字符串格式
实现方案
完全可以通过JavaScript实现该需求,核心逻辑为读取表格中的原始日期字符串,转换为Date对象后按要求格式化即可,参考实现如下:
单日期(当前场景)实现
你当前的表格只有一个带id="date"的日期单元格,直接用以下代码即可实现转换:
// 等待页面内容加载完成后执行 window.addEventListener('load', function() { // 获取日期单元格元素 const dateCell = document.getElementById('date'); // 读取原始日期字符串并转换为Date对象 const date = new Date(dateCell.textContent.trim()); // 格式化为「月份全称 日期, 年份」的格式 const formattedDate = date.toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' }); // 替换单元格内容为格式化后的日期 dateCell.textContent = formattedDate; })
你可以直接把这段JS代码放在页面的</body>标签之前,加载页面后就会自动完成日期转换。
小提示:如果需要转换为中文月份格式,只需要把代码中的
en-US改为zh-CN,输出格式为2021年11月12日。
多日期批量处理实现
如果后续表格有多个日期行,可以给所有日期单元格统一加class="date-cell",用以下代码批量处理:
window.addEventListener('load', function() { document.querySelectorAll('.date-cell').forEach(function(cell) { const date = new Date(cell.textContent.trim()); cell.textContent = date.toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' }); }) })
可选:手动拼接日期(无需依赖国际化API)
如果不想用toLocaleDateString API,也可以手动定义月份数组拼接日期,效果完全一致:
const monthList = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; window.addEventListener('load', function() { const dateCell = document.getElementById('date'); const date = new Date(dateCell.textContent.trim()); const formattedDate = `${monthList[date.getMonth()]} ${date.getDate()}, ${date.getFullYear()}`; dateCell.textContent = formattedDate; })
内容的提问来源于stack exchange,提问作者Riri
相关产品推荐
相关产品推荐

