Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Javascript проблема с датами (https://javascript.ru/forum/misc/51807-javascript-problema-s-datami.html)

Georrg 20.11.2014 14:45

Javascript проблема с датами
 
Добрый день. Я уже больше 3 недель занимаюсь только датами в javascript и встала острая необходимочть использовать не javascript-овые методы работы с датами.
getDate() Get the day as a number (1-31)
getDay() Get the weekday a number (0-6)
getFullYear() Get the four digit year (yyyy)
getHours() Get the hour (0-23)
getMilliseconds() Get the milliseconds (0-999)
getMinutes() Get the minutes (0-59)
getMonth() Get the month (0-11)
getSeconds() Get the seconds (0-59)
getTime()
все эти методы имеют погрешность в последнем разряде, год промахивается в час, час в секунду и аналогично. В моей работе из за этих проблем возникают огромные трудности, т.к. требуется точные даты. Есть ли плагин, который бы заменил все(или хотя бы частично) эти методы.

jsnb 20.11.2014 15:05

Цитата:

Сообщение от Georrg
все эти методы имеют погрешность в последнем разряде, год промахивается в час, час в секунду и аналогично.

Чего? Это как?

Georrg 20.11.2014 15:13

var date=new Date("January 01, 2013 00:00:00");
    console.log(date);
    var ndate=new Date(date);
    var inc =1;
    ndate.setFullYear(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 (зима))

Georrg 20.11.2014 15:18

http://arshaw.com/xdate/#Introduction вот, XDate вроде неплохая liba. Данные "особенности" исчезли

jsnb 20.11.2014 15:26

Цитата:

Сообщение от Georrg
простой пример, результат его работы:
Tue Jan 01 2013 00:00:00 GMT+0300 (RTZ 2 (зима))
Tue Dec 31 2013 23:00:00 GMT+0300 (RTZ 2 (зима))

У меня результат работы этого кода другой и у меня всё нормально. Недавно на хабре был пост о проблемах с датами, которые связаны с апдейтами системы всвязи с недавним временным сдвигом в РФ. Там в каментах вроде было какое-то решение.

Georrg 20.11.2014 15:40

беда, там решение +3 часа добавить на всякая случай, но у меня работа с часами, мне нужна точность до минут

jsnb 20.11.2014 15:45

Там в каментах есть ссылка на эту библиотеку. Попробуй.

kostyanet 20.11.2014 16:11

Лошь-пиздешь и провокация

var date=new Date("January 01, 2013 00:00:00");
    date.toLocaleString();


/*
01.01.2013, 0:00:00
*/

    var ndate=new Date(date);
    var inc =1;
    ndate.setFullYear(ndate.getFullYear()+inc); 
    ndate.toLocaleString();

/*
01.01.2014, 0:00:00
*/

Aetae 20.11.2014 16:20

Цитата:

Сообщение от kostyanet (Сообщение 341955)
Лошь-пиздешь и провокация

...в твоих постах.


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