2012-03-03 13 views
2

ルビーとjavascriptで同じ日付のタイムスタンプが異なる理由が混乱しています。ルビーと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.

なぜタイムスタンプの差があります。説明してください。私は時代からの秒数を探しています。ありがとうございました

+0

「Date.UTC」では、それがjQueryだと思いますか? (それはECMAScript btwです) –

+0

@ imeVidas、それは申し訳ありませんが、私のPCと戦って長い日でした。 – Hishalv

+0

http://stackoverflow.com/q/20806052/1048572 – Bergi

答えて

2

あなたは日付オブジェクトに時間値を渡しませんでした。どちらの実装は、指定した日の異なる時間を想定している:彼らはミリ秒単位で保存されているので、私はJavascriptのタイムスタンプの最後の3桁の数字を取り除くこと

1325368800 = 31.12.2011 22:00:00 


1328054400 = 01.02.2012 00:00:00 

注、(感謝rjz)。

Mark Rushakoffは、彼の答えで月間のギャップを説明しました。

+1

Javascriptのタイムスタンプは、ミリ秒単位でカウントされます(標準のUNIXタイムスタンプよりも1000倍も大きい)。 – rjz

+0

@Alpありがとうございました。頭を叩く数時間を節約しました。私は皆さんにビールを借りています。私は時間の価値を省いていることを知らなかった。 – Hishalv

+0

私は助けてよかった。ドイツにビールを送ってください、今すぐに必要なものがあります:) – Alp

3

JavascriptのDate.UTCの月が0ベースで、RubyのDate.nowが1ベースのため、違いは(可能性が高い)です。

関連する問題