如何在rails中格式化datetime?

sha*_*aka 16 datetime ruby-on-rails view

在我的Rails视图中,我有以下代码显示日期时间.

<%= link_to timeslot.opening, [@place, timeslot] %> 
Run Code Online (Sandbox Code Playgroud)

该行的结果如下:

2013-02-02 01:00:00 UTC 
Run Code Online (Sandbox Code Playgroud)

如何更改此设置,使其显示为:

2/2/13: X:00 PST
Run Code Online (Sandbox Code Playgroud)

dch*_*cke 23

strftime()在日期/日期时间使用ruby :

<%= link_to timeslot.opening.strftime("%Y %m %d"), [@place, timeslot] %>
Run Code Online (Sandbox Code Playgroud)

查看文档以了解格式如何工作.


Luí*_*lho 8

你应该使用帮助器.

如果要将UTC转换为PST,可以使用该in_time_zone方法

def convert_time(datetime)
  time = Time.parse(datetime).in_time_zone("Pacific Time (US & Canada)")
  time.strftime("%-d/%-m/%y: %H:%M %Z")
end

<%= link_to convert_time(timeslot.opening), [@place, timeslot] %>
Run Code Online (Sandbox Code Playgroud)