ruby-on-rails – 如何计算美国东部时间上午04:00的下一次出现?

美国东部时间上午04:00的下一次出现的有效方法是什么?

例如,如果日期和时间是2013/11/19 01:30:00,那么下次发生的时间是2013/11/19 04:00:00,不过如果是2013/11/19 17:00:00那么下次发生的时间是2013/11/20 04:00:00

解决方法

试试以下
time = if Time.Now.hour >= 4 
          Time.Now+1.day 
       else
          Time.Now
       end

time.strftime("%Y-%m-%d 04:00:00").to_datetime

要不就

(Time.Now+(Time.Now.hour >= 4 ? 1 : 0).day).strftime("%Y-%m-%d 04:00:00").to_datetime

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...