Вопрос по поводу 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 ); |
Цитата:
|
laimas,
Если так напишу то правильно: var dateString = '2018-25-10 10:10:24'; dateString = Date.parse(dateString.replace(/(\d+)-(\d+)-(\d+)/, '$3/$2/$1')); if(dateString + 60 //так правильно? Если просто напишу Date.parse(dateString ) прилетит Nan: var dateString = '2018-25-10 10:10:24'; dateString = Date.parse(dateString); alert(dateString ); |
Написал так, вроде работает
var d1 = '2018-10-25 10:10:24'; d1 = new Date(Date.parse(d1)); alert(d1); var data1 = d1.setSeconds(d1.getSeconds() + 60); if(data1 )//как то так |
Часовой пояс GMT +3, время: 18:21. |