2016-07-25 55 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 

感謝