0

我有这个:

  <(Time.now).to_i>

它返回一个整数,并且只想根据我的要求将该整数值转换为(分钟和秒)

4

2 回答 2

0

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

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

于 2013-07-25T06:34:59.630 回答
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
于 2013-07-25T06:37:50.453 回答