如何以一种优雅的方式并使用 JavaScript 解决 UTC 问题,该问题在以“2018-10-25”格式实例化日期时减去一天?
How to solve, in an elegant way and using JavaScript, the UTC problem, which subtracts a day when instantiating a Date in the format '2018-10-25'?
我正在遗留系统上工作,在 DB 中,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'
如何在没有"breaking"双向数据绑定的情况下通过前端优雅地解决这个问题?
我发现自己在巴西 UTC -03:00
有几种方法可以解决这个问题。一个快速而肮脏的解决方案可能是利用 moment.js。您可以通过这种方式将 API 的响应转换为真正的日期格式。
如果你不想使用额外的库,你可以创建一个函数来解析日期字符串。您可以执行以下操作来解析是成为正确的日期:
var dateSplit = person.birthday.split('-');
var mydate = new Date(dateSplit[0], dateSplit[1] - 1, dateSplit[2]);
person.birthday= mydate;
请注意月份索引从 0 开始(又名 January=0)。希望这对您有所帮助。
我正在遗留系统上工作,在 DB 中,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'
如何在没有"breaking"双向数据绑定的情况下通过前端优雅地解决这个问题?
我发现自己在巴西 UTC -03:00
有几种方法可以解决这个问题。一个快速而肮脏的解决方案可能是利用 moment.js。您可以通过这种方式将 API 的响应转换为真正的日期格式。
如果你不想使用额外的库,你可以创建一个函数来解析日期字符串。您可以执行以下操作来解析是成为正确的日期:
var dateSplit = person.birthday.split('-');
var mydate = new Date(dateSplit[0], dateSplit[1] - 1, dateSplit[2]);
person.birthday= mydate;
请注意月份索引从 0 开始(又名 January=0)。希望这对您有所帮助。