在数组中添加额外的日期以更正 angular 中的日期格式

Adding additional day in array to correct date format in angular

在我的 angular 项目中,我有一个这样的数组:

Thali : [
  {"date":"2017-04-09T18:30:00.000Z","isHoliday":"100"},
  {"date":"2017-04-10T18:30:00.000Z","isHoliday":"101"}
]

我从日期选择器中选择第一个值 2017-04-10(4 月 10 日),在 IsoDate 格式中它显示少了 1 天。所以需要在日期中添加 1 天,但这是数组。那么我如何在数组的所有日期中添加 1 天或能够更改 Isodate?

的格式

最好的方法是使用moment.js库。 Link: https://momentjs.com/docs/
将 moment.js 与您的应用程序集成后的示例:

var new_date = moment(your_date, "DD-MM-YYYY").add(1, 'day');

不要只是 add/remove 天的日期。使用像 https://momentjs.com/ 这样的库在 UTC 和本地日期之间进行转换。

不会少一天。它只是在 GMT 时区显示它,而当您从 datePicker 中选择日期时,它在 IST (GMT +5:30)

var asd = new Date("2017-04-10 00:00:00")
console.log(asd.toISOString())

这是一个使用纯 JavaScript

的解决方案

var arr = [
  {"date":"2017-04-09T18:30:00.000Z","isHoliday":"100"},
  {"date":"2017-04-10T18:30:00.000Z","isHoliday":"101"}
]

arr.forEach(function(entry) {
 var d = new Date(entry["date"]);
 // Add one day
 d.setDate(d.getDate() + 1);
    // Replace existing date in array with the new one
 entry["date"] = d.toISOString()
})

console.log(arr);