浏览 1828 次
锁定老帖子 主题:时间转换和格式化输出
精华帖 (0) :: 良好帖 (0) :: 新手帖 (5) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-12-09
最后修改:2009-12-09
很多情况下,我们会对时间进行特定格式输出。
一、集成多种方式输出 在config/initializers/date_time_formats.rb中输入如下代码: Time::DATE_FORMATS.merge!( :full => '%B %d, %Y at %I:%M %p', :md => '%m/%d', :mdy => '%m/%d/%y', :time => '%I:%M %p' )
我们可以这样去用它:
Time.now.to_s(:full) => #December 09, 2009 at 01:22 PM Time.now.to_s(:md) => #12/09 Time.now.to_s(:mdy) => #12/09/09 Time.now.to_s(:time) => #01:22 PM
二、满足变化需求的输出
如果是当前年份,不显示年,其他情况则显示年。
Time::DATE_FORMATS.merge!( :friendly => lambda { |time| if time.year == Time.now.year time.strftime "%b #{time.day.ordinalize}" else time.strftime "%b #{time.day.ordinalize}, %Y" end } )
我们可以这样去用它:
Time.now.to_s(:friendly) => #Dec 9th (Time.now - 2.years).to_s(:friendly) => #Dec 9th, 2007
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |