我有用户在 Ruby on Rails 网站上输入日期。我使用类似以下代码将日期解析为 DateTime 对象:
date = DateTime.new(params[:year].to_i, params[:month].to_i, params[:day].to_i, params[:hour].to_i, params[:minute].to_i)
或者date = DateTime.parse(params[:date])
两个DateTime
对象的时间都不会处于之前我设置的用户时区中,类似于以下内容:
Time.zone = "Pacific Time (US & Canada)"
我该如何将上述的 DateTime
解析为正确的时区?我知道 DateTime.new
方法有第七个参数用于时间偏移量。是否有一种简单的方法可以查找给定时间的时区偏移量?或者我应该使用除 DateTime
之外的其他东西吗?
我怎么才能将上述的DateTime
转换为正确的时区?我知道DateTime.new
方法有一个第7个参数,用于时间偏移量。是否有一种简便的方法来查找特定时间所在时区的偏移量?或者我应该使用除DateTime
之外的其他东西?