Показать сообщение отдельно
  #1 (permalink)  
Старый 25.10.2018, 10:12
Профессор
Отправить личное сообщение для Artur_Hopf Посмотреть профиль Найти все сообщения от Artur_Hopf
 
Регистрация: 13.03.2018
Сообщений: 278

Вопрос по поводу new Date()
Добрый день, подскажите почему меняется дата если прописывать новый параметр в условии if:
var dateString = '2018-25-10 10:10:24'; //некая дата
dateString = new Date(dateString.replace(/(\d+)-(\d+)-(\d+)/, '$3/$2/$1'));
alert (dateString );
if(dateString.setSeconds(dateString.getSeconds() + 60) >= new Date()){

}

alert (dateString ); //почему здесь дата изменилась?


Например, даже если я явно напишу так, почему в dateString дата изменилась, изменялась же только в переменной?

var dateString = '2018-25-10 10:10:24'; //некая дата
dateString = new Date(dateString.replace(/(\d+)-(\d+)-(\d+)/, '$3/$2/$1'));

alert (dateString );

var test = dateString.setSeconds(dateString.getSeconds() + 60);

alert (dateString ); //почему здесь дата изменилась, изменялась же только в переменной?

Как это все исправить, чтобы не менялось изначальное dateString , если я просто прибавляю секунды к этой дате?

И еще вопрос, как сделать чтобы если дату присвоить переменной чтобы оно его не изменяло, остался вид:
Thu Oct 25 2018 10:10:24 GMT+0300 (Москва, стандартное время)
а не:
1540451460000
var dateString = '2018-25-10 10:10:24'; //некая дата
dateString = new Date(dateString.replace(/(\d+)-(\d+)-(\d+)/, '$3/$2/$1'));

alert (dateString );
var test = dateString.setSeconds(dateString.getSeconds() + 60);

alert (test );

Последний раз редактировалось Artur_Hopf, 25.10.2018 в 10:29.
Ответить с цитированием