2017-02-14 28 views

回答

5

Ruby中沒有這樣的方法。您必須這樣做:

Time.now + 1*60*60 # 1.hours.from_now -> 1 hour, 60 minutes, 60 seconds 
Time.now - 1*60*60 # 1.hours.before_now -> 1 hour, 60 minutes, 60 seconds 

或者您可以在項目中包含activesupport

+0

你能告訴我爲什麼1乘以60和60.爲什麼60應該兩次不只是一次。 –

+1

@WawanSumardi:正如我在代碼的評論中所述。 1小時你有'1',然後在一小時內你有'60'分鐘,一分鐘有'60'秒。因此,'1 * 60 * 60',同樣2小時你有:'2 * 60 * 60' – Surya

+0

非常感謝... –

0

你也可以用這種方式寫:

當前時間:

X = Time.now => 2017-02-14 11:55:17 +0530

一小時前(前一小時):

y = x - 1.hour => 2017-02-14 10:55:17 +0530

Y = 1.hour.ago=> 2017-02-14 10:55:17 +0530`#在導軌V4.2(後一小時)

一小時後/因爲可用的:

Z = X + 1 ·小時=> 2017-02-14 12:55:17 +0530

Z = 1.hour.since=> 2017-02-14 12:55:17 +0530# available in rails v4.2

注:此計算的X(存儲時間)不能實時(Time.now),但在以前的情況下,並由於計算上實時進行執行(Time.now)

+1

沒有Rails標籤.... –

+0

這些方法可用於rails v4.2及更高版本 –