Javascript нужно два экземпляра даты Продолжайте получать ссылки вместо - PullRequest
0 голосов
/ 23 сентября 2010

Как получить дату и вычесть 1 год, а также использовать вторую дату для отображения и расчетов?

Я новичок в JS и обнаружил, что сражаюсь с объектом даты.
Я объявил и currentDate, и purchaseDate как var new date () в области глобальных переменных Но теперь в функции я пытаюсь назначитьПервоначальная дата, как "currentDate and purchaseDate", как и год спустя. Предупреждение показывает, что я изменил значение currentDate, а не просто значение purchaseDate, как я планировал.

Не то, что я хочу!Таким образом, я получаю пропуск по ссылке против значения, но не знаю, как его получить, чтобы у меня было два отдельных значения для currentDate и purchaseDate (годом ранее)

currentDate = data.getValue(0,2);
purchaseDate = valueOf(data.getValue(0,2));
purchaseDate.setFullYear(purchaseDate.getFullYear()-1);

alert(purchaseDate);

, поэтому этот код также не работает;То есть, дата покупки 1 год назад, но текущая дата

currentDate = data.getValue(0,2);
    purchaseDate = data.getValue(0,2);
            purchaseDate.setFullYear(purchaseDate.getFullYear()-1);
alert(purchaseDate);

1 Ответ

1 голос
/ 23 сентября 2010

Код, который вы опубликовали, слишком неоднозначен, чтобы надежно указать основную причину вашей проблемы (неясно, что делает valueOf()), но в принципе вам действительно нужно создать новый экземпляр Date, основанный на временидругой Date.Вот как вы могли бы сделать это, предполагая, что currentDate также является действительным Date.

var purchaseDate = new Date(currentDate.getTime());

Вот полный пример старта:

var currentDate = new Date();
var purchaseDate = new Date(currentDate.getTime());
purchaseDate.setFullYear(purchaseDate.getFullYear() - 1);
alert(currentDate); // Today.
alert(purchaseDate); // Today minus one year.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...