Mo.*_*Mo. 15 ruby timezone datetime
我从外部方法得到一个带有时间和日期的字符串,所以"07/09/10 14:50"有什么方法可以将红宝石中的时间转换为"美国太平洋时间"知道它的"UTC"时间吗?有变化的日期?即如果时差导致一天不同.
Geo*_*tte 42
由于看起来您使用的是rails,因此您有很多选择.我建议阅读这篇谈论所有时区的文章.
要转换为PST,这两种方法都是特定于轨道的方法.无需重新发明轮子:
time = Time.parse("07/09/10 14:50")
time.in_time_zone("Pacific Time (US & Canada)")
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助
更新:rails可能会尝试变聪明,并将您指定的时间作为字符串指定时区.要确保时间解析为UTC,您应该在字符串中指定:
time = Time.parse("07/09/10 14:50 UTC")
time.in_time_zone("Pacific Time (US & Canada)")
Run Code Online (Sandbox Code Playgroud)
mic*_*ael 14
要从字符串形式转换为您需要使用的日期或时间对象 strptime
require 'date'
require 'time'
my_time_string = "07/09/10 14:50"
to_datetime = DateTime.strptime(my_time_string, "%m/%d/%y %H:%M")
utc_time = Time.parse(to_datetime.to_s).utc
pacific_time = utc_time + Time.zone_offset("PDT")
puts utc_time
puts pacific_time
Run Code Online (Sandbox Code Playgroud)
这是纯粹的ruby,因此可能有一些特定于rails的方法可以专门用于此任务,但这应该可以帮助您入门.
| 归档时间: |
|
| 查看次数: |
27497 次 |
| 最近记录: |