Javascript: увеличение объекта Date на год - PullRequest
0 голосов
/ 20 февраля 2020

Я назначаю новый объект даты для моего атрибута объекта следующим образом:

giftObject.purshasedDate = new Date ()

, который дает формат даты:

Дата чт 20 февраля 2020 13:36:37 GMT + 0100 (heure normale d'Europe centrale)

Я хочу увеличить эту дату на один год, я попробовал:

new Date (). setFullYear (giftObject.purshasedDate.getFullYear () + 1) , но он дает серийный номер, подобный этому: 1613824899244

У меня нет понять, что означает этот серийный номер! это свидание или стоит попробовать что-нибудь еще?

Ответы [ 3 ]

1 голос
/ 20 февраля 2020

По умолчанию все объекты даты являются временными метками.

JavaScript Объекты даты представляют один момент времени в независимом от платформы формате. Объекты Date содержат число, представляющее миллисекунды с 1 января 1970 года UT C. Источник: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

Я думаю, что new Date() объект по умолчанию может отображать себя в строку, фактически это также временная метка. Если вы хотите отобразить дату в виде строки, вы должны использовать метод toLocaleString() для Date.

Я попытался обновить исходную дату, и она возвращает строку даты, не знаю почему, но это работает путем обновления исходной даты.

Пример:

let giftObject = {};
giftObject.purshasedDate = new Date();
giftObject.purshasedDate.setFullYear(giftObject.purshasedDate.getFullYear() + 1);
console.log(giftObject.purshasedDate)

Результат: "20/02/2021 à 13:55:49" для моего французского браузера

0 голосов
/ 20 февраля 2020

Пожалуйста, используйте это:

    purshasedDate = new Date();
    purshasedDate = new Date(purshasedDate.setFullYear(purshasedDate.getFullYear() + 1)); 
0 голосов
/ 20 февраля 2020
const oldDate = new Date("Date Thu Feb 20 2020 13:36:37 GMT+0100")
const newDate = oldDate.setFullYear(oldDate.getFullYear() + 1)
const dateWithPlusOneYear = new Date(newDate)
console.log(new Date(dateWithPlusOneYear))
//Sat Feb 20 2021 13:36:37 GMT+0100 (Central European Standard Time)
...