JavaScript站点地图日期格式化:将WP GraphQL返回日期转为谷歌推荐格式
站点地图日期格式转换JavaScript实现方案
你拿到的2021-11-24T17:03:44.597Z属于带毫秒的标准UTC ISO格式,只需做轻量转换即可适配谷歌要求的格式,以下是两种高效实现方案:
方案1:正则字符串替换(性能最优,适合批量处理)
无需实例化日期对象,直接操作字符串,处理十万级数据无压力:
/** * 转换WP GraphQL返回的日期为谷歌站点地图要求格式 * @param {string} dateStr 原始日期字符串 例:2021-11-24T17:03:44.597Z * @returns {string} 适配格式的日期字符串 */ function convertToGoogleSitemapDate(dateStr) { return dateStr.replace(/\.\d+Z$/, '+00:00'); } // 调用示例 const rawDate = '2021-11-24T17:03:44.597Z'; const formattedDate = convertToGoogleSitemapDate(rawDate); // 输出结果:2021-11-24T17:03:44+00:00
方案2:带日期校验的转换方案
如果需要先校验日期合法性、或后续要做日期计算,可以用原生Date对象实现:
function convertValidatedDate(dateStr) { const date = new Date(dateStr); if (isNaN(date.getTime())) { throw new Error('传入的日期格式无效'); } return date.toISOString().slice(0, 19) + '+00:00'; } // 调用示例 const rawDate = '2021-11-24T17:03:44.597Z'; const formattedDate = convertValidatedDate(rawDate); // 输出结果:2021-11-24T17:03:44+00:00
两种方案输出的均为UTC时区时间,和原始数据的时间完全一致,不会出现时区偏移问题,完全符合谷歌站点地图的格式规范。
内容的提问来源于stack exchange,提问作者Nick
相关产品推荐
相关产品推荐

