如何将日期和时间转换为日期时间/时间戳

时间:2016-07-25 13:10:04

标签: ruby-on-rails ruby ruby-on-rails-5

我需要导入一些CSV数据,并且它们有一个日期字段和下面格式的时间字段

{"date"=>"23/04/16", "day"=>"SATURDAY", "time"=>"17:06"}

我希望将其作为时间戳并成为记录中的created_at字段。

有什么方法可以解决这个问题?

2 个答案:

答案 0 :(得分:2)

您可以在strptimeTime

上使用DateTime

如果您需要时间戳:

require 'time'

csv_hash = {"date"=>"23/04/16", "day"=>"SATURDAY", "time"=>"17:06"}
time_from_csv = Time.strptime("#{csv_hash["date"]}:#{csv_hash["time"]}", '%d/%m/%y:%H:%M') # 2016-04-23 17:06:00 +0000
timestamp = time_from_csv.to_i # 1461423960

阅读Time#strptime

的文档

如果您希望DateTime执行DateTime.strptime(...)

答案 1 :(得分:0)

你可以这样做:

params = {"date"=>"23/04/16", "day"=>"SATURDAY", "time"=>"17:06"}

"#{params['date']} params['time']".to_datetime

由于