2013-08-05 65 views
0

爲什麼我不能使用Ruby獲取明天的日期?下面是一些經常工作失敗的東西:爲什麼我不能使用Ruby獲取明天的日期?

Time.now.tomorrow 
Date.tomorrow 
Date.current.tomorrow 
Date.current+1 

我找不出什麼問題。我在Windows上使用Ruby 1.8.7,這可能是問題所在。

任何幫助表示讚賞。

+0

顯示的錯誤是什麼? –

+1

他們是如何失敗?有錯誤嗎?日期錯了嗎? – thegrinner

+0

你還沒有給我們任何工作。您的Ruby生態系統最近發生了什麼變化要失去'.tomorrow',你不會加載Rails或Active Support日期庫。 –

回答

1

只需使用the succ method within 'date'

require 'date' 
d = Date.new(2013,8,5) 
d = d.succ 

在REPL,d.to_s產生的"2013-08-06"輸出。

+1

我想出了一些阻止我的東西。我忘記了在irb中輸入'require ruby​​gems'。我的完整解決方案現在是'require date'' 'd = Date.new(Time.now.year,Time.now.month,Time.now。天)' 'd = d.succ.to_s' ...從來沒有得到主動支持去做我想做的事。不知道爲什麼。 –

3

這些都是rails(特定的Active Support)添加的東西。如果你正在編寫一個非Rails項目,那麼你將無法使用它們,而不需要適當的Active Support支持。

例如:

require 'active_support/core_ext/date' 
require 'active_support/core_ext/time' 

應該在大多數的加入DateTime功能帶來的。

1

請參閱Active Support的「Extensions to Time」。

整個頁面都是關於如何挑選您需要的擴展,而不是整個Active Support庫。

你的目的,你可能需要:

require 'active_support/core_ext/time/calculations' 

如果不掌握核心擴展,那麼你應該升級你的Rails,但可以打破任何舊的Rails應用,你可能有。如果你使用的是Ruby 1.8.7,那麼賠率是很好的,你已經過時了。此時,您應該瞭解如何使用RVM或rbenv來管理沙盒中的Ruby安裝,或者與其Windows相同。

相關問題