2012-03-15 28 views
1

タイムゾーンで@ post.created_at日付時刻まで秒を取得する方法を探しています。 DateTime.now.in_time_zoneを使用して現在の日付と時刻を取得します。私はルビーの時間ヘルパーを使うことができますが、実際には秒が必要です。@ post.created_at(秒)までの残り時間

ありdistance_of_time_in_wordsしかし、あなたは離れて(左まで)一定の@ post.created_atを秒を計算する方法をなしdistance_of_time_in_secondsヘルパー

答えて

5

シンプル

@post.created_at - Time.now 

はあなたに秒を与える..will。その違いを計算する前に、Railsはタイムゾーンを扱うため(タイムゾーンの詳細を持つオブジェクトであるため)、タイムゾーンを心配する必要はありません。

+0

(@ post.created_at - Time.now).secondsは秒単位の時間を返します。 – scarver2

+0

@ scarver2..well、 '@post.created_at - Time.now'は答えをfloatで返しますが、' .seconds'は最後に 'seconds'を追加します。あなたが 'Time.now + difference'のようなこの時間差を使ってさらに計算をするつもりでない限り、これは必要ありません(この例では、' timeオブジェクト+数値は '数と同じ結果が秒単位で考慮されます) – rubyprince

1
(Time.now.in_time_zone - @post.created_at.in_time_zone).to_i 

差を秒単位で返します。

関連する問題