2016-07-25 188 views
-1

我需要进口一些CSV数据,他们有一个日期字段和格式如下如何日期和时间转换成日期时间/时间戳

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

时间字段,我想做出一个时间戳和是记录中的created_at字段。

这是怎么回事?

+0

你好,你在哪里卡住到底是什么? (DateTime.parse和DateTime.strptime将是我的猜测[DateTime文档](http://ruby-doc.org/stdlib-2.3.0/libdoc/date/rdoc/DateTime.html)) – floum

+0

**小心:* *时区信息需要正确执行。 – mudasobwa

回答

2

你会在TimeDateTime

使用strptime如果需要时间戳:

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 

以读取在的文档

如果你想要做DateTimeDateTime.strptime(...)

0

你可以这样做:

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

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

感谢