gpt4 book ai didi

angular - 'value' 应该是 Kendo Angular DatePicker 中有效的 JavaScript Date 实例

转载 作者:行者123 更新时间:2023-12-02 10:42:36 25 4
gpt4 key购买 nike

kendo DatePicker 的绑定(bind)出现错误。

The 'value' should be a valid JavaScript Date instance

我在 asp core 中获取学生的 Web api 是:

    [HttpGet, Route("/api/master/{id}")]
public JsonResult GetStudentById(int id)
{
return Json(new { id = 1, RegisterDate = DateTime.Now });
}

它返回:

{"id":1,"registerDate":"2018-05-01T13:23:35.1229748+04:30"}

最后在我的 Angular 分量中是:

student: Student = new Student();
constructor() { }

ngOnInit() {
this.http
.get(`http://localhost:58824/api/master/${10}`, { headers: this.setHeader() })
.subscribe(response => { this.student = response; });
}

查看:

<form novalidate #form="ngForm" (submit)="save(form)">
<label for="birthDate">Date</label>
<kendo-datepicker [format]="'dd-MM-yyyy'" name="registerDate" [(ngModel)]="student.registerDate"></kendo-datepicker>
</form>

有一个错误:“值”应该是有效的 JavaScript Date 实例

不用说,我已将 DateInputsModule 添加到 app.module 中的导入数组中我该如何修复它?

最佳答案

此配置从序列化数据中删除时区 (+04:30):

services.AddMvc()  
.AddJsonOptions(options =>
{
options.SerializerSettings.DateTimeZoneHandling = DateTimeZoneHandling.Unspecified; // Treat as a local time if a DateTime is being converted to a string.
});

或者尝试以这种方式指定 DateTimeFormat,并通过将 DateTimeStyles 设置为 AdjustToUniversal 使其自动将日期调整为 UTC:

services.AddMvc()
.AddJsonOptions(options =>
{
var settings = options.SerializerSettings;
var dateConverter = new IsoDateTimeConverter
{
DateTimeStyles = DateTimeStyles.AdjustToUniversal,
DateTimeFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ssK"
};
settings.Converters.Add(dateConverter);
});

关于angular - 'value' 应该是 Kendo Angular DatePicker 中有效的 JavaScript Date 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50113771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com