Почему я получаю разные временные метки на одну и ту же дату в ruby ​​и javascripts - PullRequest
2 голосов
/ 04 марта 2012

Я не понимаю, почему я получаю разные метки времени для одной и той же даты в ruby ​​и javascript.

В ruby ​​

> ruby_date = Date.new(2012,1,1)
> ruby_date.to_time.utc.to_i
 => 1325368800

В jquery

<script type="text/javascript">

    var jquery_date = Date.UTC(2012,1,1);
    document.write(jquery_date);

</script>

возвращает 1328054400000.

Почему существует разница во временных отметках.Пожалуйста, объясни.Я ищу количество секунд от эпохи.спасибо

Ответы [ 2 ]

3 голосов
/ 04 марта 2012

Разница (скорее всего) в том, что месяц в Javascript Date.UTC основан на нуле, а Ruby's Date.now - на основе одного.

2 голосов
/ 04 марта 2012

Вы не передали значение времени объекту даты. Обе реализации предполагают различное время указанного дня:

1325368800 = 31.12.2011 22:00:00


1328054400 = 01.02.2012 00:00:00

Обратите внимание, что я удалил последние 3 цифры метки времени Javascript, потому что они хранятся в миллисекундах (спасибо rjz).

Марк Рушаков объяснил разницу в месяце в своем ответе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...