我有以下时间字符串,我需要转换为自午夜(一天开始)以来的秒数。我一直在寻找Ruby Api,但未能提出解决方案。任何想法都将不胜感激。
time_string = '4:12:38 PM ET'
答案 0 :(得分:4)
将字符串转换为时间使用
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,您应该使用今天的日期,而不是上面的硬编码值。
答案 1 :(得分:3)
如果您安装了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