在数组中添加额外的一天以更正角度的日期格式

时间:2017-04-07 07:24:37

标签: angularjs arrays date-format isodate

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

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的格式?

4 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

不要仅仅添加/删除日期中的日期。使用https://momentjs.com/之类的库在UTC和本地日期之间进行转换。

答案 2 :(得分:0)

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



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




答案 3 :(得分:0)

以下是使用纯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);