加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何从Rails的现有Time.zone创建Ruby DateTime

发布时间:2020-12-16 20:20:43 所属栏目:百科 来源:网络整理
导读:我有一个用户在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[:da
我有一个用户在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])

两个DateTimes都不会在我以前设置的用户的时区中:

Time.zone = "Pacific Time (US & Canada)"

如何将上述DateTimes解析为正确的时区?我知道DateTime.new方法有时间偏移的第七个参数.在给定的时间内有一个简单的方法来查找时区的偏移量吗?还是应该使用除DateTime之外的东西?

解决方法

如果您以前设置了Time.zone,可以使用Time.zone.local:
user_time = Time.zone.local(params[:year].to_i,params[:minute].to_i,0)

看看ActiveSupport::TimeWithZone文档.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读