Ruby on Rails で、「Sun Oct 5th」のように「th」接尾辞を使用して日付をフォーマットするにはどうすればよいですか? 質問する

Ruby on Rails で、「Sun Oct 5th」のように「th」接尾辞を使用して日付をフォーマットするにはどうすればよいですか? 質問する

日付を、短い曜日、短い月、先頭にゼロを付けず、「th」、「st」、「nd」、または「rd」の接尾辞を含む日付の形式で表示します。

たとえば、この質問が行われた日は「10 月 2 日 (木)」と表示されます。

私はRuby 1.8.7を使っていますが、時間.strftimeこれを実現できないようです。標準ライブラリが存在する場合はそちらを希望します。

ベストアンサー1

「active_support」の ordinalize メソッドを使用します。

>> time = Time.new
=> Fri Oct 03 01:24:48 +0100 2008
>> time.strftime("%a %b #{time.day.ordinalize}")
=> "Fri Oct 3rd"

注意: Ruby 2.0 で IRB を使用している場合は、まず以下を実行する必要があります。

require 'active_support/core_ext/integer/inflections'

おすすめ記事