1

RoRプロジェクトから日付をフォーマットしようとしていますが、これがどのように機能するかを理解する上で実際の問題があります。PHPでは、これは単純なdate( "format"、time())です。

データベース内に保存されている標準時だけを呼び出すと、取得します 2012-08-12 22:25:00 +1000

日付形式をevent_timeおよびevent_dateと呼ぼうとしています

Time::DATE_FORMATS[:month_and_year] = "%B %Y"
Time::DATE_FORMATS[:event_time] = "%l:%M %p"
Time::DATE_FORMATS[:event_date] = "%a, %e %b, %Y"

私は現在これを次のように呼ぼうとしています

= schedule.time.to_s(:event_time)

私が抱えている問題は、次のエラーが発生することです。

引数の数が間違っています(0の場合は1)

4

3 に答える 3

4

この日付形式のデータが頻繁に必要な場合は、strftimeを使用するか、esleを使用することもできます。

あなたが追加したコードは私にとって素晴らしい働きをします

pritesh@cloudy-pritesh:~/railsdemo$ rails c
Loading development environment (Rails 3.2.6)
1.9.3p194 :001 > Date.today.to_s(:event_time)
 => "2012-08-13" 
1.9.3p194 :002 > Time::DATE_FORMATS[:month_and_year] = "%B %Y"
 => "%B %Y" 
1.9.3p194 :003 > Time::DATE_FORMATS[:event_time] = "%l:%M %p"
 => "%l:%M %p" 
1.9.3p194 :004 > Time::DATE_FORMATS[:event_date] = "%a, %e %b, %Y"
 => "%a, %e %b, %Y" 
1.9.3p194 :005 > Time.now.to_s(:event_time)
 => "11:13 AM" 

を使用してこれを行うこともできますTime.now.strftime("%B %Y")

私の最後の推測では、あなたはレコードをループしていて、レコードのどこかにゼロ値の時間のあるレコードがあるかもしれません

于 2012-08-13T05:47:58.130 に答える
2

strftimeを使用する

Time.now.strftime("%B %Y")   #August 2012

次に、次のようなものを使用します

Time.now.strftime(Time::DATE_FORMATS[:month_and_year])
于 2012-08-13T05:33:17.070 に答える
0

簡単だ、

schedule.time.strftime(Time::DATE_FORMATS[:format_type])   #August 2012

詳細な使用法については、 http://apidock.com/ruby/Time/strftimeを参照してください。

于 2012-08-13T05:40:10.593 に答える