Time.parse返回一个没有时区的Time对象。我想保留时区信息。有没有更好的方式来做到这一点,然后下面的代码?Rails - 用时区解析时间的更好方法?
def parse_with_timezone(string_input)
/(.*)([+-]\d\d):?(\d\d)$/.match(string_input) do |match|
tz = ActiveSupport::TimeZone[match[2].to_i.hours + match[3].to_i.minutes]
tz.parse(match[1])
end
end
输入是一个像这样的字符串“2012-12-25T00:00:00 + 09:00”。该函数输出一个TimeWithZone对象。
我不知道什么时区是提前。这就是我解析它的原因。 – 2013-08-21 19:42:24
在任何给定的时区偏移处没有单个时区。你所希望的最好的将是一系列可用的时区。由于每个时区可能位于不同的夏令时区域,因此这对您来说确实没有任何价值。时区不是微不足道的抵消,所以我不确定我是否理解你想要实现的目标。 – toxaq 2013-08-21 21:32:57