Показать сообщение отдельно
  #1 (permalink)  
Старый 24.10.2014, 16:41
Аспирант
Отправить личное сообщение для Georrg Посмотреть профиль Найти все сообщения от Georrg
 
Регистрация: 06.08.2014
Сообщений: 58

Особенности get(set)FullYear()
Доброго времени суток, проблема вот в чем:
var date=new Date("January 01, 2013 00:00:00");
    console.log(date);
    var ndate=new Date(date);
    var inc =1;
    ndate.setYear(ndate.getFullYear()+inc); 
    console.log(ndate);

Результат:

Tue Jan 01 2013 00:00:00 GMT+0300 (RTZ 2 (зима))
Tue Dec 31 2013 23:00:00 GMT+0300 (RTZ 2 (зима))

Аналогично, если ввести:
var date=new Date("January 01, 2014 00:00:00");
    console.log(date);
    var ndate=new Date(date);
    var inc =1;
    ndate.setYear(ndate.getFullYear()+inc); 
    console.log(ndate);


Tue Dec 31 2013 23:00:00 GMT+0300 (RTZ 2 (зима))
Wed Dec 31 2014 23:00:00 GMT+0300 (RTZ 2 (зима))

как видите, результат не соответствует тому, что хотелось бы получить. Соответственно вопрос, как сделать так, чтобы работало верно? Ошибка ли это в методах? Можно ли это исправить, указав конкретные временные зоны? И если можно, то как?
Ответить с цитированием