Как добавить дополнительный день для даты в формате ISO в JavaScript

Текущий формат даты:2016-05-10T06:34:17Z, мне нужно добавить 10 дней к текущей дате, т.е.2016-05-20T06:34:17 в javascript или angularjs.

2 ответа

Решение

You can create a new date based on your string using Date конструктор.

использование Date.prototype.setDate() to set the day of the Date.

Пример:

var myDate = new Date('2016-05-10T06:34:17Z');
myDate.setDate(myDate.getDate() + parseInt(10));
console.log(myDate);

Notes: You can create simple "utility" function if you need to use more times this script, example:

var addDays = function(str, days) {
  var myDate = new Date(str);
  myDate.setDate(myDate.getDate() + parseInt(days));
  return myDate;
}

var myDate = addDays('2016-05-10T06:34:17Z', 10);
console.log(myDate);

Сопутствующая документация:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setDate

Одно линейное решение:

  • Сегодня:

    today = new Date().toISOString()

  • Вчерашний день:

    yesterday = new Date(new Date().setDate(new Date().getDate() - 1)).toISOString()

  • Завтра:

    tomorrow = new Date(new Date().setDate(new Date().getDate() + 1)).toISOString()

Совет: Вы можете добавить или вычесть дни, чтобы получить точную дату, начиная с сегодняшнего дня.

Другие вопросы по тегам