如何在Rails中以“ mm / dd / yyyy”格式显示当前日期


Answers:



26

您可以简单地做到这一点(如果使用纯Ruby TimeDateTime则用代替-即不使用Rails):

DateTime.now.strftime('%m/%d/%Y')

如果您经常使用该格式,则可能要date_time_formatsRAILS_ROOT/config/initializers文件夹中创建一个初始化程序(假设Rails 2),如下所示:

# File: date_time_formats.rb
ActiveSupport::CoreExtensions::Time::Conversions::DATE_FORMATS.merge!(
  :human => "%m/%d/%Y"
)

然后,您可以DateTime.now.to_s(:human)在代码中使用更友好的版本。


1
这是最优雅的方法。在各处使用strftime太麻烦了。实际上,尽管您可以做这样的事情(不那么冗长) ruby Date::DATE_FORMATS[:mdy] = "%B %d, %Y" Time::DATE_FORMATS[:mdy] = "%B %d %Y" Time::DATE_FORMATS[:month_and_year] = "%B %Y" Time::DATE_FORMATS[:pretty] = lambda { |time| time.strftime("%a, %b %e at %l:%M") + time.strftime("%p").downcase }
Subimage 2013年

2
需要注意的是,配置文件中的更改仅在服务器重启后才生效,这与型号,视图和控制器的更改不同。
SilverCorvus 2014年

8

我认为您可以使用.strftime

t = Time.now()
t.strftime("The date is %m/%d/%y")

这应该给"The date is 09/09/10"。有关格式代码的详细列表,请参见此处.strftime


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.