Moh*_*ain 3 ruby formatting ruby-on-rails date strftime
以下是一些输出:
Date.today => Mon, 25 Jun 2012
Date.today.to_formatted_s(:long_ordinal) => "June 25th, 2012"
Date.today.strftime('%A %d, %B') => "Monday 25, June"
Run Code Online (Sandbox Code Playgroud)
现在我需要输出格式,即:
Monday 25th, June or Thrusday, 1st, October
Run Code Online (Sandbox Code Playgroud)
问题是to_formatted_s和strftime仅适用于日期和两者或它们返回字符串.如何以我需要的方式获得输出.
您可以使用Date::DATE_FORMATS添加新的自定义格式,并Integer.ordinalize获得日期序数:
Date::DATE_FORMATS[:month_ordinal] = lambda { |date|
date.strftime("%A #{date.day.ordinalize}, %B")
}
>> Date.today.to_formatted_s(:month_ordinal)
=> "Monday 25th, June"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2271 次 |
| 最近记录: |