这里的问题是我只想显示一个日期,比如出生日期,时区并不重要。我的API以iso_8601
格式序列化日期。日期选择器会在前一天显示日期,因为它缺少时区。这里的工作是什么,
有没有办法强制日期选择器忽略时区或我必须更改我的API日期输出?即。
API输出,
{
"aliasName": null,
"patientDob": "1985-04-24",
"contactAddress": null,
"streetNo": null,
}
日期选择器显示为1985年4月23日,//我正在使用DateAdapter
根据区域设置显示日期。
如果我再次重新选择日期,我的日期选择器选择的日期值如下,1985-04-24T08:00:00.000Z
示例here,
答案 0 :(得分:0)
我现在的解决方法如下,
客户端(API仅序列化ISO日期,即“1985-04-24”) 我写了这个函数,
.get
OR
服务器端(API序列化DateTimeOffset,即“1985-04-04T23:59:59-08:00”)在我的情况下,我正在使用NodaTime
所以OffsetDateTime
,
我写了这个扩展方法,
function formatApiLocalDate(date: Date): Date {
if (date) {
return new Date(moment(date.toString()).format());
}
return null;
}