0

Ruby を使用して明日の日付を取得できないのはなぜですか? 定期的に機能するものの、失敗しているもののいくつかを次に示します。

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

何が問題なのかわかりません。Windows で Ruby 1.8.7 を使用していますが、これが問題の可能性があります。

どんな助けでも大歓迎です。

4

3 に答える 3

3

これらはすべてレール (特定の Active Support) が追加するものです。Rails 以外のプロジェクトを作成している場合、適切な Active Support を必要とせずにそれらを使用することはできません。

例えば:

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

Dateとに追加された機能のほとんどが に組み込まれTimeます。

于 2013-08-05T17:52:50.550 に答える
1

内でメソッドを使用するsucc'date'だけです:

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

REPL ではd.to_s、 の出力を生成します"2013-08-06"

于 2013-08-05T17:57:19.603 に答える
1

Active Support の「時間の延長」を参照してください。

そのページ全体は、Active Support ライブラリ全体ではなく、必要な拡張機能のみをチェリー ピックする方法に関するものです。

あなたの目的のために、おそらく必要です:

require 'active_support/core_ext/time/calculations'

コア拡張機能がない場合は、Rails をアップグレードする必要がありますが、古い Rails アプリが壊れる可能性があります。Ruby 1.8.7 で実行している場合、かなり古い可能性があります。そして、その時点で、RVM または rbenv を使用して、サンドボックスまたは Windows での同等の Ruby インストールを管理する方法を読む必要があります。

于 2013-08-05T18:17:14.927 に答える