如何计算美国东部时间上午04:00的下次发生时间?

Sam*_*dhe 7 ruby datetime ruby-on-rails ruby-on-rails-3

美国东部时间上午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

ROR*_*sad 8

试试以下

time = if Time.now.hour >= 4 
          Time.now+1.day 
       else
          Time.now
       end

time.strftime("%Y-%m-%d 04:00:00").to_datetime
Run Code Online (Sandbox Code Playgroud)

要不就

(Time.now+(Time.now.hour >= 4 ? 1 : 0).day).strftime("%Y-%m-%d 04:00:00").to_datetime
Run Code Online (Sandbox Code Playgroud)