【发布时间】:2016-03-14 13:10:54
【问题描述】:
我需要将字符串转换为特定时区的日期。
例如。
from = "June 13, 2015"
Date.strptime(from,"%b %d, %Y") #=> Sat, 13 Jun 2015
Date.strptime(from.strip,"%b %d, %Y").in_time_zone("America/Chicago") #=> Sat, 13 Jun 2015 00:00:00 CDT -05:00 which is ActiveSupport::TimeWithZone format
Date.strptime(from,"%b %d, %Y").in_time_zone("America/Chicago").to_date #=>Sat, 13 Jun 2015 which is in UTC Date class
我需要美国/芝加哥时区的最终日期。我怎样才能做到这一点?
我需要在所需的时区取得日期,而不是在所需的时区取得时间。
Time.now.in_time_zone("Eastern Time (US & Canada)") 将提供 ActiveSupport::TimeWithZone 格式,而我需要所需时区的日期格式。
【问题讨论】:
-
我猜您需要提供时间(而不是日期)才能转换为所需的时区。
-
我会使用 DateTime。
-
你的问题很模糊。日期实际上没有时区。 TIME 有一个时区。你想对日期做什么?
-
@Beartech 我需要根据所选管理时区中的所选日期过滤数据。
标签: ruby-on-rails ruby date ruby-on-rails-4 timezone