Как вычесть из даты определенное количество дней (значение)?

  • 22 августа 2023 г. 13:36
Ответы на вопрос 3
Для вычитания определенного количества дней из даты в JavaScript можно использовать метод `setDate()` объекта `Date`.

Вот пример кода, который показывает, как вычесть из даты `11 января 2024 года` 3 дня:

```javascript
let currentDate = new Date("Thu Jan 11 2024 10:00:00 GMT+0200");
currentDate.setDate(currentDate.getDate() - 3);
console.log(currentDate);
```

Результат будет: `Mon Jan 08 2024 10:00:00 GMT+0200`.

Чтобы правильно прочитать и обработать значение в массиве, содержащем дату и время, вы можете использовать различные методы объекта `Date`. Например, чтобы получить год, месяц, день и время из строки даты, вы можете использовать следующий код:

```javascript
let dateStr = "Thu Jan 11 2024 10:00:00 GMT+0200 (Eastern European Standard Time)";
let date = new Date(dateStr);

let year = date.getFullYear();
let month = date.getMonth(); // Возвращает месяц от 0 до 11 (0 - январь, 11 - декабрь)
let day = date.getDate();
let hours = date.getHours();
let minutes = date.getMinutes();
let seconds = date.getSeconds();

console.log(year, month, day, hours, minutes, seconds);
```

Результат выполнения этого кода будет: `2024, 0, 11, 10, 0, 0`.
Дата в Excel представляет собой число, где целая часть - количество дней, а дробная часть - время суток. Это позволяет вычитать даты, чтобы получить интервалы между ними, и прибавлять интервалы, чтобы получить новые даты. Кроме того, можно прибавлять и вычитать обычные числа от дат. Поэтому важно рассматривать даты как числа и выбирать соответствующий формат для результатов.
function myFunction() {
  
  var dateArray = [ 'Thu Jan 11 2024 10:00:00 GMT+0200 (Eastern European Standard Time)' ,
                'Fri Jan 12 2024 10:00:00 GMT+0200 (Eastern European Standard Time)',
                'Sat Jan 13 2024 10:00:00 GMT+0200 (Eastern European Standard Time)'];

  var myUnixTime = Date.parse('2023-01-01 00:00:00'); // моя дата

  dateArray.map(item => {
    var unixTime = Date.parse(item); 
    console.log(unixTime);
    var diff = unixTime - myUnixTime;
    console.log(diff); // разница в миллисекундах
  });

}
Похожие вопросы