我怎樣才能得到昨天的約會?我如何得到昨天的約會?
可能:
@get_time_now = Time.now.strftime('%m/%d/%Y')/86400
或
@get_time_now = Time.now.strftime('%m/%d/%Y') - 1.day
或
@get_time_now = Time.now./86400
86400 = 1天,對吧? (60 * 60 * 24)
我怎樣才能得到昨天的約會?我如何得到昨天的約會?
可能:
@get_time_now = Time.now.strftime('%m/%d/%Y')/86400
或
@get_time_now = Time.now.strftime('%m/%d/%Y') - 1.day
或
@get_time_now = Time.now./86400
86400 = 1天,對吧? (60 * 60 * 24)
Date對象,你可以使用:
Date.yesterday
或時間對象:
1.day.ago
或軌道之外:
Date.today.prev_day
謝謝。問題解決了 –
** Time.now - 1.day **也有效,只是提到了完整性。 – Gazler
@Gazler:不完全。正如蒂姆彼得斯在上面提到的那樣,24小時並不總是與一天相同。 –
您只需從Time
對象中減去86400即可獲得前一天的數據。如果您使用的是Rails,或者包含ActiveSupport,則可以用1.days
替換86400。
如果您使用的是Date
對象,而不是Time
對象,則只需從中減1即可。
要檢查是否一個日期/時間是前/後另一個,只是比較兩個對象,就像您對數字做:
DateTime.parse("2009-05-17T22:38:42-07:00") < DateTime.parse("2009-05-16T22:38:42-07:00")
# => false
使用Date.today - 1.days。
Date.yesterday取決於當前的時間和GMT
1.9.3-p125 :100 > Date.today
=> Wed, 29 Feb 2012
1.9.3-p125 :101 > Date.yesterday
=> Wed, 29 Feb 2012
1.9.3-p125 :102 > Date.today - 1.days
=> Tue, 28 Feb 2012
的偏移努力1.day.ago
後和變型就可以了:
irb(main):005:0> 1.day.ago
NoMethodError: undefined method `day' for 1:Fixnum
如果發現Date.today.prev_day
作品對我來說:
irb(main):016:0> Date.today.prev_day
=> #<Date: 2013-04-09 ((2456392j,0s,0n),+0s,2299161j)>
您可能並未使用Rails。 ActiveSupport爲你提供這個功能 – SirLenz0rlot
注意你也可以做基本的日期算術,例如'Date.today - 1' – Dennis
use DateTime.now - 1
1.9.3p194 :040 > DateTime.now
=> Mon, 18 Nov 2013 17:58:45 +0530
1.9.3p194 :041 > DateTime.now - 1
=> Sun, 17 Nov 2013 17:58:49 +0530
或DateTime。昨天
1.9.3p194 :042 > DateTime.yesterday
=> Sun, 17 Nov 2013
,或者我們可以使用Time
rails
advance
方法和DateTime
1.9.3p194 :043 > Time.now.advance(days: -1)
=> 2013-11-17 17:59:36 +0530
1.9.3p194 :044 > DateTime.now.advance(days: -1)
=> Sun, 17 Nov 2013 17:59:49 +0530
advance
方法還提供了此選項:years, :months, :weeks, :days, :hours, :minutes, :seconds
的Ruby 2.1.2本地時間
答:
Time.at(Time.now.to_i - 86400)
證明:
秒的2.1.2 :016 > Time.now
=> 2014-07-01 13:36:24 -0400
2.1.2 :017 > Time.now.to_i
=> 1404236192
2.1.2 :018 > Time.now.to_i - 86400
=> 1404149804
2.1.2 :019 > Time.at(Time.now.to_i - 86400)
=> 2014-06-30 13:36:53 -0400
一天。
86400 = 1天(60 * 60 * 24)
Time.now - (3600 * 24) # or Time.now - 86400
或
require 'date'
Date.today.prev_day
最清晰的香草紅'Time.now - (3600 * 24) – cevaris
不是所有天都86400秒長(的夏令變化的邊界是+/- 1小時)。 –