【问题标题】:How to convert date format in Ruby如何在 Ruby 中转换日期格式
【发布时间】:2012-06-26 09:52:43
【问题描述】:

以下是一些输出:

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_sstrftime 仅适用于日期并且两者或它们都返回字符串。如何以我需要的方式获得输出?

【问题讨论】:

    标签: ruby-on-rails ruby date formatting strftime


    【解决方案1】:

    您可以使用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"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-20
      • 1970-01-01
      • 1970-01-01
      • 2021-07-08
      • 2013-06-16
      • 2012-02-13
      • 2012-01-19
      相关资源
      最近更新 更多