0

Ajax 経由でレコードを取得する場合、すべてのレコードではなく、前回のリクエスト後に更新されたレコードのみが必要です。クエリは次のようになります。

Post.where("updated_at >= ?", last_requested_at)

問題は、last_requested_atJavascript 変数に格納され、HTTP クエリ文字列として渡される必要があることです。

JavascriptとRailsの間で時間をエンコード/デコードする方法は? タイムゾーンを気にする必要はありますか?

4

1 に答える 1

0

一般的な解決策は、すべての時間を UTC 時間値として送信することです。

Javascript の日付オブジェクトは、1970-01-01T00:00:00Z からのミリ秒単位の UTC 時刻値に基づいています。UNIX の時刻値は、通常、同じエポックからの秒数であるため、必要に応じて 1,000 で割るか、掛けることでミリ秒を秒に変換します (または、最後の 3 桁を削除するか、「000」を連結するだけです)。これで完了です。

したがって、UNIX 時刻値から JavaScript 日付オブジェクトを作成するには、次のようにします。

var date = new Date(UNIXTimevalue * 1000);

逆に戻る:

var UTCTimevalue = date.getTime() / 1000 | 0;

クライアントは、システム設定に基づいてタイム ゾーン オフセットを処理するので、それらが正しい限り、問題はありません。

于 2013-02-10T22:45:53.257 に答える