Angular 8 中的日期管道
Date Pipe in Angular 8
我在处理 angular 8.
中的日期时遇到问题
我有一个 api rest with symfony4 (apiPlatform) 并且它 returns 这种格式的日期
"balanceDate": "2010-10-04T00:00:00+00:00"
如果我在没有应用日期管道的情况下将它传递到我的模板,它会放置完全相同的文本
2010-10-04T00:00:00+00:00
当我在angular
中使用如下管道时
{{ balanceDate | date:'dd-MM-yyyy' }}
日期少一天表示
我一直在做测试,我手动将日期添加到管道中,我正在删除部分日期
{{ '2010-10-04T00:00:00+00:00' | date:'dd-MM-yyyy' }} - Fail
{{ '2010-10-04' | date:'dd-MM-yyyy' }} - Correct
{{ '2010-10-04T00:00:00' | date:'dd-MM-yyyy' }} - Correct
所以我推导出这部分日期
+00:00
这是问题的原因
老实说,我不知道我应该在哪一侧处理日期输出,无论是在 Angular 还是在 symfony api rest 中。
希望你能指导我解决这个问题
谢谢
解决方案是将字符串日期传递给 javascript 的对象日期,以便在组件中获取有效的对象日期 Javascript,然后再将其用于模板:
newdate = new Date('2010-10-04T00:00:00+00:00');
演示:Demo Angular
如果您知道日期设置为 UTC 值(时区为“+00:00”或 "Z"),则可以将时区说明符添加到日期管道:
date:'dd-MM-yyyy':'UTC'
我在处理 angular 8.
中的日期时遇到问题我有一个 api rest with symfony4 (apiPlatform) 并且它 returns 这种格式的日期
"balanceDate": "2010-10-04T00:00:00+00:00"
如果我在没有应用日期管道的情况下将它传递到我的模板,它会放置完全相同的文本
2010-10-04T00:00:00+00:00
当我在angular
中使用如下管道时{{ balanceDate | date:'dd-MM-yyyy' }}
日期少一天表示
我一直在做测试,我手动将日期添加到管道中,我正在删除部分日期
{{ '2010-10-04T00:00:00+00:00' | date:'dd-MM-yyyy' }} - Fail
{{ '2010-10-04' | date:'dd-MM-yyyy' }} - Correct
{{ '2010-10-04T00:00:00' | date:'dd-MM-yyyy' }} - Correct
所以我推导出这部分日期
+00:00
这是问题的原因
老实说,我不知道我应该在哪一侧处理日期输出,无论是在 Angular 还是在 symfony api rest 中。
希望你能指导我解决这个问题
谢谢
解决方案是将字符串日期传递给 javascript 的对象日期,以便在组件中获取有效的对象日期 Javascript,然后再将其用于模板:
newdate = new Date('2010-10-04T00:00:00+00:00');
演示:Demo Angular
如果您知道日期设置为 UTC 值(时区为“+00:00”或 "Z"),则可以将时区说明符添加到日期管道:
date:'dd-MM-yyyy':'UTC'