2012-03-15 32 views
1

寻找一种方法来获得秒数,直到@ post.created_at日期时间与时区。 使用DateTime.now.in_time_zone获取当前日期和时间。我可以使用红宝石时间助手,但我真的只需要秒。得到时间,直到@ post.created_at在几秒钟内

有distance_of_time_in_words但没有distance_of_time_in_seconds帮手

  • 你将如何计算秒掉(左直到)一定@ post.created_at?

回答

5

简单

@post.created_at - Time.now 

..will给你秒。您不必担心时区,因为在计算差异之前,Rails将处理时区(因为两者都是带时区详细信息的对象)。

+0

(@ post.created_at - Time.now).seconds将以秒为单位返回时间。 – scarver2 2012-10-07 02:39:56

+0

@ scarver2..well,'@post.created_at --Time.now'会给你浮动的答案,而'.seconds'会在最后加上'seconds'。我没有看到任何需要,除非你打算用'Time.now + difference'这个时间差进行进一步的计算(在这种情况下,没有秒的那个也是可行的,因为'时间对象+数字'给了你与数字相同的结果被认为是以秒为单位) – rubyprince 2012-10-07 14:33:44

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

将以秒为单位返回差值。

相关问题