0

私はページにユーザーメッセージを表示しており、UserAがメッセージを送信または受信した各ユーザーごとにcreated_at時間があります。日時(w /タイムゾーン)を「月、日」の文字列に変換するにはどうすればよいですか?

スレッドごとに、最新のメッセージの日付をスレッドに表示します。私はcreated_atと時間を引っ張っだし、それは次のように見せている:

2012-02-08 09:56:34 UTC 

私はcreated_atとの終わりにTO_DATEを追加した場合、私は日付がこのように表示するために取得することができます。

2012-02-08 

私がしたいですこのような何かにそれらのいずれかを変換するための簡単な方法を知っている:

February 8 

8 February 

February 8th 

8th February 

をし、メッセージが現在の年にはcreated_atない場合は、日付と年を表示

e.g. February 8, 2006 

種類は、日付をフォーマットする

+0

は、お使いのテレビ番組が大好きです。 – jaydel

答えて

4

使用strftime方法について。例えばFebraury 8の場合はcreated_at.strftime("%B -d")と言うことができます。

+0

ありがとう、私は間違って使用していた..元々私はstrftimeメソッドにcreated_atの日付を渡していた。愚か。 – LondonGuy

1

あなたはinitialierに入れた場合to_formatted_s

を見てみましょう:

Time::DATE_FORMATS[:month_and_day] = lambda { |time| Time.now.year == time.year ? time.strftime("%B #{time.day.ordinalize}") : time.strftime("%B #{time.day.ordinalize}, %Y")} 

をあなたの意見は、正しい形式を使用することができます。

created_at.to_s(:month_and_day) 
関連する問題