Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Особенности get(set)FullYear() (https://javascript.ru/forum/misc/51123-osobennosti-get-set-fullyear.html)

Georrg 24.10.2014 16:41

Особенности 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 (зима))

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

Sweet 24.10.2014 17:42

Используй .setFullYear.

StanislavV 24.10.2014 17:44

всё о датах http://learn.javascript.ru/datetime

Georrg 24.10.2014 23:35

минуту

Georrg 24.10.2014 23:35

попробовало, не помогло


Часовой пояс GMT +3, время: 04:34.