如何使用JavaScript将Strapi返回的UTC日期转换为DD/MM/YYYY格式
Strapi返回日期转DD/MM/YYYY格式方案
你从Strapi获取的是ISO 8601标准的UTC日期字符串,JS原生可直接解析,模板部分{{ formatMyDate(article.published_at) }}无需修改,仅需要调整formatMyDate函数的实现即可。
方案1:纯原生JS实现(无第三方依赖)
formatMyDate(value) { // 空值直接返回空字符串 if (!value) return '' const date = new Date(value) // 补前导零工具函数 const padNumber = num => num.toString().padStart(2, '0') // 本地时区日期 const day = padNumber(date.getDate()) const month = padNumber(date.getMonth() + 1) // 月份从0计数,需要+1 const year = date.getFullYear() // 若需UTC时区日期(和Strapi存储的日期完全一致,避免跨时区日期偏差),替换上面三行为: // const day = padNumber(date.getUTCDate()) // const month = padNumber(date.getUTCMonth() + 1) // const year = date.getUTCFullYear() return `${day}/${month}/${year}` }
方案2:使用Day.js轻量日期库实现(代码更简洁)
如果你的项目已经引入了Day.js,可直接用内置的格式化方法,代码更易维护:
import dayjs from 'dayjs' formatMyDate(value) { return value ? dayjs(value).format('DD/MM/YYYY') : '' } // 若需要UTC时区格式,改为 dayjs(value).utc().format('DD/MM/YYYY') 即可
内容的提问来源于stack exchange,提问作者Yassine TAKEDDINE
相关产品推荐
相关产品推荐

