从以下表格收集信息后:
将这两个部分拼凑成Ruby中的单个日期对象的最简单方法是什么? (我写了一些糟糕的方法来做到这一点,如果有更清洁的方法,我很好奇)
答案 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]}}")