我已经dstring保存在UTC中了.虽然我有用户的时区偏移standard_offset
我希望在转换后在用户的时区显示该日期.所以这就是我所做的,但最后你可以看到它UTC没有显示PST或PDT
[64] pry> dstring
=> "2013-10-31T23:10:50Z"
[65] pry> standard_offset = -8
=> -8
[66] pry> e = Time.parse(dstring) + (standard_offset * 3600)
=> 2013-10-31 15:10:50 UTC
[67] pry> e.strftime("%m/%m/%Y %I:%M %p %Z")
=> "10/10/2013 03:10 PM UTC"
Run Code Online (Sandbox Code Playgroud)
我希望最终得到10/10/2013 03:10 PM PST如何获得?注意:这不是rails应用程序.
JVK*_*JVK 10
我in_timezone在Time课堂上添加了一个方法方法如下:
class Time
require 'tzinfo'
# tzstring e.g. 'America/Los_Angeles'
def in_timezone tzstring
tz = TZInfo::Timezone.get tzstring
p = tz.period_for_utc self
e = self + p.utc_offset
"#{e.strftime("%m/%d/%Y %I:%M %p")} #{p.zone_identifier}"
end
end
Run Code Online (Sandbox Code Playgroud)
如何使用它:
t = Time.parse("2013-11-01T21:19:00Z")
t.in_timezone 'America/Los_Angeles'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6030 次 |
| 最近记录: |