如何从现有的Time.zone为Rails创建Ruby日期时间?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (18)

我想让用户在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])

我以前用类似的东西设置:

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

提问于
用户回答回答于

Time.zone.local,如果以前设置过Time.zone,可以使用:

user_time = Time.zone.local(params[:year].to_i, params[:month].to_i, params[:day].to_i, params[:hour].to_i, params[:minute].to_i, 0)

看看ActiveSupport::TimeWithZone

用户回答回答于

试着:

Time.zone = "Pacific Time (US & Canada)"
Time.zone.parse('8-11-2013 23:59:59') #=> Fri, 08 Nov 2013 23:59:59 PST -08:00 

Time.now.in_time_zone("Pacific Time (US & Canada)")

DateTime.now.in_time_zone("Pacific Time (US & Canada)")

扫码关注云+社区