Angular中DatePipe返回结果异常,时间显示不符问题咨询
Angular DatePipe 转换后时间显示12:00:00的原因
你在IST时区(比UTC早5小时30分),通过以下代码创建日期对象:
this.date1original = new Date(2023,2,2); this.date1 = this.datePipe.transform(this.date1original,'yyyy-MM-dd hh:mm:ss');
模板代码:
<h1>Date1</h1> <section> <label>Original: new Date(2023,2,2)</label><br />{{ date1original }} <br /> <label>datePipe:</label> <br />{{ date1 }} </section>
该Date对象的本地时间为00:00:00,对应UTC时间为2023-03-01T18:30:00,但DatePipe返回的时间部分是“12:00:00”,核心原因是格式符使用错误:
hh是12小时制的小时表示,范围为1-12,午夜00:00在12小时制规则下会被显示为12,而非00。- 若要显示24小时制的小时,需使用
HH格式符,它的范围是00-23。
解决方案:将转换格式改为yyyy-MM-dd HH:mm:ss,代码调整如下:
this.date1 = this.datePipe.transform(this.date1original,'yyyy-MM-dd HH:mm:ss');
修改后,DatePipe会正确返回本地时间对应的00:00:00部分。
内容的提问来源于stack exchange,提问作者Phalgun
相关产品推荐
相关产品推荐

