我有一个如下所示的时间字符串:time = "7:00 PM -0500"
这个偏移显然是-0500
,我可以通过utc_offset = time[-5..-1]
但是,我希望使用现有的Ruby Time功能,而不是使用字符串操作。
这需要适用于所有时区,因此我无法在任何地方对时区或偏移进行硬编码。如何使用"<hour>:<minutes> <am/pm> <offset>"
格式的字符串,解析它,并使用Time
类中的功能获取正确的偏移量?
答案 0 :(得分:0)
也许,this下次应该帮助你,为此你的问题可能的答案是:
require 'time'
time = "7:00 PM -0500"
Time.parse(time).strftime "%z"
=> "-0500"
<强> UPD 强>
如果Time.parse
只返回您当地的时区(在某些ruby版本中),您也可以尝试这样做:
require 'time'
time = "7:00 PM -0500"
DateTime.parse(time).strftime "%z"
=> "-0500"