Ruby:将日期和时间拼凑在一起的干净方式

时间:2011-02-26 08:12:55

标签: ruby time

从以下表格收集信息后:

form

将这两个部分拼凑成Ruby中的单个日期对象的最简单方法是什么? (我写了一些糟糕的方法来做到这一点,如果有更清洁的方法,我很好奇)

3 个答案:

答案 0 :(得分:2)

require 'date'
date, time = %w(2011-02-26 17:00)
dt = DateTime.parse("#{date} #{time}:00")
dt.to_s # => 2011-02-26T17:00:00+00:00

注意UTC的假设;如果需要,你必须附加你自己的时区。

答案 1 :(得分:1)

>> Time.local(*("2011-02-26".split("-") + "17:00".split(":")))
=> Sat Feb 26 17:00:00 0100 2011
>> Time.parse(["2011-02-26", "17:00"].join(" "))
=> Sat Feb 26 17:00:00 0100 2011

答案 2 :(得分:1)

如果您将2010-02-26作为params [:date]和17:00作为params [:time],那么您可以

Time.parse("#{params[:date] #{params[:time]}}")