byt*_*uit 5 ruby ruby-on-rails-3
我正在尝试将Ruby Date对象转换为字符串.日期格式为:2013年9月15日,星期日
但是,当我使用'to_s'将其转换为字符串时,它给出了以下内容:2013-09-15
相反,我希望它作为一个字符串保留为"Sun,2013年9月15日".
bjh*_*aid 14
使用Date#strftime有很多选择
require 'date'
date = Date.parse("Sun, 15 Sep 2013") # => #<Date: 2013-09-15 ((2456551j,0s,0n),+0s,2299161j)>
date.strftime("%a, %d %b %Y") # => "Sun, 15 Sep 2013"
Run Code Online (Sandbox Code Playgroud)
strftime效果很好,但是,如果您发现在多个地方使用相同的格式,您会发现使用RailsDate#to_formatted_s方法是一个更合适的选择。您可以使用内置格式:
date.to_formatted_s(:short)
date.to_formatted_s(:long)
Run Code Online (Sandbox Code Playgroud)
或者,您可以创建自己的格式,将它们添加到 Date::DATE_FORMATS:
Date::DATE_FORMATS[:my_format] = '%a, %d %b %Y'
date.to_formatted_s(:my_format)
Run Code Online (Sandbox Code Playgroud)
这将阻止您在整个应用程序中传播格式字符串。
| 归档时间: |
|
| 查看次数: |
6341 次 |
| 最近记录: |