Angular中UTC日期时间格式化:如何保留后端返回原时间
解决Angular DatePipe自动转换本地时间的问题
要保留后端返回的UTC原时间,你需要修正DatePipe的调用格式,同时确保输入的时间被正确识别为UTC:
修正transform方法参数:你之前的代码漏了参数分隔的逗号,正确写法是:
time = this.datepipe.transform(result.time, "yyyy-MM-dd hh:mm:ss", "UTC");确保输入时间是UTC格式:
- 如果后端返回的是带
Z后缀的ISO UTC字符串(如"2024-05-20T12:30:00Z"),直接传入即可,DatePipe会自动识别为UTC时间。 - 如果后端返回的是无时区标识的字符串(如
"2024-05-20 12:30:00")且明确为UTC,需要先将其转为UTC时间对象:const utcTime = new Date(result.time + 'Z'); time = this.datepipe.transform(utcTime, "yyyy-MM-dd hh:mm:ss", "UTC");
- 如果后端返回的是带
注意时间格式符:你使用的
hh是12小时制格式,若需要24小时制显示,替换为HH即可。
内容的提问来源于stack exchange,提问作者Priya
相关产品推荐
相关产品推荐

