我有一個具有日期時間值的XML文件。我遍歷元素並獲取屬性值timeutc
。我想將UTC日期時間轉換爲ruby中的特定時區
我設法將它轉換爲本地時區,但我想要做的是將其轉換爲任何時區,PST,CST,EST。
$Appointments = '<appointments><appointment timeutc="2013-10-10T06:00:00" /><appointment timeutc="2013-10-10T06:00:00" /><appointment timeutc="2013-10-10T15:00:00" /></appointments>'
index = 0
doc = REXML::Document.new("#{$Appointments}")
doc.elements.each("appointments/appointment") do |element|
index += 1
value = element.attribute("timeutc").value
to_datetime = DateTime.parse(value).to_s
to_UTC = Time.iso8601(to_datetime).to_s
local_time = Time.iso8601(to_datetime).localtime
puts local_time # => 2013-10-09 23:00:00 -0700
puts local_time.strftime("%A") # => Wednesday
puts local_time.strftime("%B") # => October
puts local_time.strftime("%-d") # => 9
puts local_time.strftime("%l") # => 11
puts local_time.strftime("%M") # => 00
puts local_time.strftime("%p") # => PM
end
什麼是日期的源格式? ISO或其他? – maerics
請勿使用'$約會'。全球化對此不是必要的,而且地方性的「約會」更可以接受。 ''#{$ Appointments}「'也不需要,因爲它已經是一個字符串了。此外,你初始化和增加'索引',但沒有用它。 –