0
这是我正在进行的一个问题,我不知道如何使用它。Rails 5:将Time.zone(例如“Pacific Time(US&Canada)”)转换为已编号的偏移量(例如-0700)
用户在创建帐户时设置其Time.zone
。在这种情况下“太平洋时间(美国&加拿大)”。
当他们创建一个对象,并在日期和它与没有明确的时区字符串的格式输入时间偏移,像这样“2017年5月31日2:00 PM”
知道这两样东西。我想将输入的时间字符串转换为UTC格式并保存。
我试过以下,但它不是以太平洋时间考虑:
time = Time.strptime("05/31/2017 2:00 PM Pacific Time (US & Canada)", "%m/%d/%Y %H:%M %p %Z").utc
=> 2017-05-31 14:00:00 UTC
14:00:00 UTC是上午7时区。它应该是21:00:00,因为它目前是-0800。我想找一种方法考虑时区,并以UTC格式正确保存它们。
然而它转换正确,如果我给它,像这样精确的偏移:
time = Time.strptime("05/31/2017 2:00 PM -0800", "%m/%d/%Y %H:%M %p %Z").utc
=> 2017-05-31 22:00:00 UTC
这个问题是我的命。我只想将所有日期和时间保存为UTC格式,因此用户所要做的就是正确设置其时区和查看时间。如果适用,也考虑到DST。
这工作!我现在可以将时间转换并保存为UTC并且转换正常工作。 – Antonio