我有下面的時間字符串,我需要將其轉換爲自午夜(天的開始)以來的秒數。我一直在尋找Ruby Api,但一直沒能找到解決方案。任何想法,將不勝感激。如何將時間字符串轉換爲Ruby中的秒數
time_string = '4:12:38 PM ET'
我有下面的時間字符串,我需要將其轉換爲自午夜(天的開始)以來的秒數。我一直在尋找Ruby Api,但一直沒能找到解決方案。任何想法,將不勝感激。如何將時間字符串轉換爲Ruby中的秒數
time_string = '4:12:38 PM ET'
要轉換字符串時使用
new_time = Time.parse(time_string)
這將返回一個Time對象。然後,你可以減去時間在午夜從給定的時間,像這樣:
midnight = Time.local(2010,2,13,0,0,0)
seconds = (new_time - midnight).to_i # Number of seconds as an integer, .to_f works too
當然,對於Time.local,你應該使用今天的日期,而不是上面的硬編碼值。
這個技巧。在我以前的努力中,我並沒有使用本地。 – Mutuelinvestor 2011-02-13 22:30:35
如果您已經安裝了active_support你也可以做到這一點
require 'rubygems'
require 'time'
require 'active_support/core_ext/time/calculations'
puts Time.parse('4:12:38 PM ET').seconds_since_midnight.to_i
+1 active_support真棒 – Dominic 2011-02-13 22:33:28
感謝。我很欣賞這些意見。 – Mutuelinvestor 2011-02-13 22:40:01