Angular日期管道会自动将日期转换为用户所在时区的本地时间。这可能会导致日期显示不正确,特别是在将UTC日期作为输入时,会导致日期减少一天。为了避免这种情况,可以使用JavaScript的Date对象来手动转换日期。下面是一个示例:
在组件中定义一个UTC时间(注意:月份从0开始):
utcDate = new Date(Date.UTC(2021, 11, 31)); // 2021年12月31日
在HTML模板中使用Date对象来格式化日期:
{{ utcDate | date:'yyyy-MM-dd' }}
使用Date对象手动转换日期可以避免日期减少一天的问题,并确保日期在不同的时区显示正确。