如何仅在角度材料日期选择器中显示日期?

时间:2018-06-11 04:31:54

标签: angular angular-material

这里的问题是我只想显示一个日期,比如出生日期,时区并不重要。我的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

1 个答案:

答案 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;
}