为什么我在ruby和javascripts中获得相同日期的不同时间戳

时间:2012-03-03 21:26:08

标签: jquery ruby

我很困惑为什么我在ruby和javascript中获得相同日期的不同时间戳。

在红宝石

> 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 个答案:

答案 0 :(得分:3)

差异是(最有可能),因为Javascript的Date.UTC中的月份是从零开始的,而Ruby的Date.now是基于1的。

答案 1 :(得分:2)

您没有将时间值传递给日期对象。两种实现都假设指定日期的时间不同:

1325368800 = 31.12.2011 22:00:00


1328054400 = 01.02.2012 00:00:00

请注意,我删除了Javascript时间戳的最后3位数字,因为它们以毫秒为单位存储(感谢rjz)。

Mark Rushakoff在答案中解释了月份差距。