将TimeStamp返回值更改为mm:sec而不是小时

时间:2013-07-25 06:30:57

标签: ruby-on-rails

我有这个:

  <(Time.now).to_i>

它返回一个整数的东西 并希望将该整数值转换为(分钟和秒)  仅根据我的要求

2 个答案:

答案 0 :(得分:0)

使用strftime - 请参阅此页http://www.dzone.com/snippets/date-time-format-ruby它具有格式(尽管它类似于c / c ++和Java)

此外,您可能希望对时间类的时区处理进行一些研究。有一个函数:in_time_zone可以为你转换时区。因此,通常您存储所提取的时间或时间均为UTC,然后您可以在strftime之前动态更改时区。

答案 1 :(得分:0)

试试这个

Time.now.strftime("%M:%S")

希望你试图找到这个

您可以通过此

获取分钟和秒数
delta =  Time.now.to_i
    %w[ weeks days hours minutes seconds].collect do |step|
      seconds = 1.send(step)
      (delta / seconds).to_i.tap do
        delta %= seconds
      end
    end

它将返回一个包含5个元素的数组。你可以从中获得分钟和秒 arr[3]arr[4]

此外,您可以将整数格式的时间视为delta

如果你想在hr = 0

时只显示分钟和秒
@hr = timedef[0]
@mn = timedef[1]
@sec = timedef[2]
time_remains = ''
unless self.timedef.blank?

  if @hr > 0

    time_remains = time_remains + "#{@hr} #{'hour'.pluralize(@hr)} "
  elsif @mn > 0
    time_remains = time_remains + "#{@mn} #{'minute'.pluralize(@mn)} and #{@sec} #{'second'.pluralize(@sec)} "
  else
    time_remains = time_remains + "#{@sec} #{'second'.pluralize(@sec)} "
  end
end