jQuery中如何将/Date(时间戳)/格式转换为正确的Date日期格式
你获取到的/Date(1629138600000)/是微软系服务端常用的JSON日期序列化格式,内部括号里的数字是毫秒级Unix时间戳,按以下逻辑处理即可得到目标格式:
- 从字符串中提取出时间戳数字
- 将时间戳转换为JS原生Date对象
- 格式化Date对象为
MM/DD/YYYY格式
完整修改后的函数代码
function GetCreateTaskPopup(ID, Category, ClientName, DateCreated) { // 匹配提取时间戳 const timeReg = /\/Date\((\d+)\)\//; const timestamp = parseInt(DateCreated.match(timeReg)[1], 10); const targetDate = new Date(timestamp); // 方式1:手动拼接,可自定义补零规则 const month = String(targetDate.getMonth() + 1).padStart(2, '0'); const day = String(targetDate.getDate()).padStart(2, '0'); const year = targetDate.getFullYear(); const formattedDate = `${month}/${day}/${year}`; // 方式2:使用内置国际化API,直接输出美式日期格式(二选一即可) // const formattedDate = new Intl.DateTimeFormat('en-US').format(targetDate); // formattedDate即为你需要的10/28/2021格式的日期 }
注意事项
- 如果不需要日期、月份不足两位时补前导零,删除
padStart(2, '0')即可 - 如果出现日期和实际值差1天的问题,是时区差异导致的,把
getMonth、getDate、getFullYear替换为对应的UTC方法getUTCMonth、getUTCDate、getUTCFullYear即可
内容的提问来源于stack exchange,提问作者sanjay
相关产品推荐
相关产品推荐

