【问题标题】:Working with date and time使用日期和时间
【发布时间】:2011-01-17 05:59:48
【问题描述】:
  1. 例如,我的 UTC 日期为 Tue, 16 Feb 2010 03:12:02 UTC +00:00
  2. 我想将此日期加上 168 小时以获得未来的 UTC 日期。
  3. 最好的方法是什么?

【问题讨论】:

    标签: ruby-on-rails ruby date time


    【解决方案1】:

    您标记了问题rails,所以这里是您可以在 Rails 中使用一些帮助程序的方法:

    time_string = 'Tue, 16 Feb 2010 03:12:02 UTC +00:00'
    new_time = Time.parse( time_string ) + 168.hours
    

    如果您已经将它作为 Time 对象,只需添加 168.hours:

    new_time = old_time + 168.hours
    

    或者你可以添加1.week:

    new_time = old_time + 1.week
    

    【讨论】:

      【解决方案2】:

      仅供参考,“9.days”比“168.hours”更简单。

      >> new_time = Time.parse( time_string ) + 168.hours
      => Tue Feb 23 03:12:02 UTC 2010
      >> new_time = Time.parse( time_string ) + 9.days
      => Thu Feb 25 03:12:02 UTC 2010
      

      【讨论】:

      • 好吧,我要笑了。 9.days 可能更简单,但这会使216 小时。我想你的意思是7.days1.week :)
      • 当然,除非是特殊的每周 9 天日历,每天有 18 小时又三分之二小时 :)
      【解决方案3】:

      在原版 Ruby 中,这并不难:

      time_string = 'Tue, 16 Feb 2010 03:12:02 UTC +00:00'
      new_time = DateTime.parse( time_string ) + 7
      

      (您可以只使用 Date 类,它仍然可以工作。)

      我承认添加小时数有点棘手。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-10
        • 1970-01-01
        相关资源
        最近更新 更多