我正在开发遗留系统,在数据库中,生日以 json 中的"1992-05-18"方式到来。我正在使用 AngularJS,当在更新表单的input type = "date"
中应用此变量的数据绑定时,有必要实例化一个 Date 对象。喜欢这个:
//person.byrthday = '1992-04-26'
var person.birthday = new Date (person.birthday);
// after person.byrthday = '1992-04-25T00:00:00.000Z'
如何通过前端优雅地解决这个问题,而不"破坏"双向数据绑定?
我发现自己在巴西UTC -03:00
有几种方法可以解决这个问题。一个快速而肮脏的解决方案可能是利用时刻.js。您可以通过这种方式将来自 API 的响应转换为真正的日期格式。
如果您不想使用额外的库,则可以创建一个函数来解析日期字符串。您可以执行以下操作来解析成为正确的日期:
var dateSplit = person.birthday.split('-');
var mydate = new Date(dateSplit[0], dateSplit[1] - 1, dateSplit[2]);
person.birthday= mydate;
请注意,月份指数从 0(又名 1 月=0(开始。希望这有所帮助。