Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   дд.мм.гггг в unix ? хелп! (https://javascript.ru/forum/misc/52447-dd-mm-gggg-v-unix-khelp.html)

ninzzo 19.12.2014 19:39

дд.мм.гггг в unix ? хелп!
 
Привет!

1. Подскажите как перевести
формат дд.мм.гггг в unix

Есть 20.02.1976 как из нее получить unix ?

2. Как в js узнать текущее время в unix формате ?

На пхп без проблем это делаю,а вот в js уже уперся рогом)

devote 19.12.2014 19:55

// текущее
var currentUnix = Date.now() / 1000|0;
// необходимая
var unix = Date.parse('20.02.1976'.replace(/(\d+)\.(\d+)\./, '$2-$1-')) / 1000|0;


Примеры выше не учитывают временные зоны, дата возвращается с нулевой зоной, то-есть UTC+0

devote 20.12.2014 00:53

Цитата:

Сообщение от Rise
С чего бы это?

а с того:
https://developer.mozilla.org/en-US/...cts/Date/parse
Цитата:

The Date.parse() method parses a string representation of a date, and returns the number of milliseconds since January 1, 1970, 00:00:00 UTC.
не забывай что из этой даты: 'January 1, 1970' Date.parse вычитает локальную временную зону, так как для Date.parse дата: 'January 1, 1970' считается локальной, потому что не указан явно временной сдвиг.

devote 20.12.2014 01:29

Цитата:

Сообщение от Rise
значит дата возвращается не с нулевой зоной

возвращается с нулевой... просто парсер всегда приводит строку в UTC+0 вычитая указанную временную зону, например Date.parse('January 1, 1970 UTC'); вернет ноль, потому что мы явно ему указали что строка с временной зоной 0, тогда как строка January 1, 1970 без указания временного сдвига, равносильна "January 1, 1970 UTC+Локальный сдвиг"

devote 20.12.2014 02:03

Цитата:

Сообщение от Rise
а заявил о нулевой)

я не заявил а сказал что будет возвращать с нулевой зоной, что он и делает (приводит к нулевой зоне).. А уж в каком формате будет топикстартер туда совать строку это решать ему. А во вторых каждый JS прог, должен понимать как работает Date в браузерах.


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