如何用jQuery将WordPress ACF输出的数字日期转为英文月份+年份格式?
用jQuery转换数字格式日期为英文月年格式
可以直接通过jQuery解析数字格式的日期字符串,转换为你需要的May 2022格式,比隐藏span的方案更优雅,也不会残留原数字内容。以下是具体实现:
核心思路
- 定位页面中输出数字日期的元素
- 从8位数字字符串(如
20220501)中提取年份和月份 - 将月份数字转换为对应的英文全称
- 替换原元素的文本内容为目标格式
代码实现
jQuery(document).ready(function($) { // 替换为你实际的日期元素选择器,比如类、ID或其他属性 $('.output-date').each(function() { const rawDate = $(this).text().trim(); // 校验是否为8位数字格式,避免处理无效内容 if (!/^\d{8}$/.test(rawDate)) return; // 提取年份(前4位)和月份(中间2位) const year = rawDate.slice(0, 4); const monthNum = parseInt(rawDate.slice(4, 6), 10); // 方法1:手动定义月份数组(兼容性好,无地区差异) const monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; const monthName = monthNames[monthNum - 1]; // 月份数字转数组索引(数组从0开始) // 方法2:用Date对象自动生成(更简洁,支持多语言) // const date = new Date(year, monthNum - 1); // const monthName = date.toLocaleString('en-US', { month: 'long' }); // 拼接并替换内容 $(this).text(`${monthName} ${year}`); }); });
使用说明
- 把代码中的
.output-date替换为你页面中实际承载日期的元素选择器(比如主题生成的类名、ID) - 将这段代码添加到WordPress中:可以通过后台「外观」→「自定义」→「额外JavaScript」粘贴,或者使用自定义JS插件添加
- 两种月份转换方法任选:手动数组更稳定,不会受浏览器地区设置影响;Date对象方法更灵活,若后续需要切换语言只需修改
en-US参数
这个方案完全不需要修改主题文件,直接在前端完成格式转换,是比隐藏span更优的解决方案。
内容的提问来源于stack exchange,提问作者CliffVandyck
相关产品推荐
相关产品推荐

