在ruby中转换日期格式需要一些帮助
以下是一些输出:
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"
现在我需要输出格式,即:
Monday 25th, June or Thrusday, 1st, October
问题是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"