ruby 将时间(HH:MM:SS)转换为秒,然后再转回

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 将时间(HH:MM:SS)转换为秒,然后再转回相关的知识,希望对你有一定的参考价值。

module MidwireCommon

  class TimeTool

    # converts the given time (HH:MM:SS) to seconds
    #
    # +time+ the time-string
    def self.time_to_seconds(time)
      return -1 if time.nil? or time.strip.empty?
      times = time.split(/:/).reverse
      seconds = 0
      for i in (0...times.length)
        seconds += times[i].to_i * (60**i)
      end
      return seconds
    end

    # converts the given seconds into a time string (HH:MM:SS)
    #
    # +seconds+ the seconds to convert
    def self.seconds_to_time(seconds)
      return "unknown" if seconds.nil?
      t = seconds
      time = ""
      2.downto(0) { |i|
        tmp = t / (60**i)
        t = t - tmp * 60**i
        time = time + ":" if not time.empty?
        time = time + ("%02d" % tmp)
      }
      return time
    end
  end

end

以上是关于ruby 将时间(HH:MM:SS)转换为秒,然后再转回的主要内容,如果未能解决你的问题,请参考以下文章

仅将 HH:MM:SS 格式的时间转换为秒?

Redshift:将 HH:MM:SS 格式的字符串字段转换为秒和向后

如何将 yyyy/MM/dd hh:mm:ss 转换为秒?

将 HH:MM:SS (hours:minutes:seconds.split seconds) 转换为秒的简单方法

批处理文件 HH:MM:SS 转换为秒 Youtube-DL get-duration

如何将数据框列传递给scala函数