Ruby on rails 将时间戳返回更改为mm:sec而不是hour

Ruby on rails 将时间戳返回更改为mm:sec而不是hour,ruby-on-rails,Ruby On Rails,我有这个: <(Time.now).to_i> 它返回一个整数 并希望将该整数值转换为(分和秒) 仅根据我的要求使用strftime——请参见本页,它有格式(尽管它类似于c/c++和Java) 此外,您可能希望对time类的时区处理进行一些研究。有一个功能:in_time_zone可以为您转换时区。因此,通常情况下,您以UTC为单位存储时间或获取的时间,然后您可以在更改时间之前动态更改时区。尝试此方法 Time.now.strftime("%M:%S") 希望你能找到这个

我有这个:

  <(Time.now).to_i>

它返回一个整数 并希望将该整数值转换为(分和秒) 仅根据我的要求使用strftime——请参见本页,它有格式(尽管它类似于c/c++和Java)

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

尝试此方法

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

这个gmme在日期和时间格式上有很好的曝光。。。谢谢你的考虑我与(时间)无关。。在您的控制台上运行此[],并检查它是否返回。。。我想把返回的整数值转换成分秒,你到底想搜索什么?你想要一个分秒的时差吗?我用另一种方法做了现在我有了t=[diff.divmod(60*60)[0],diff.divmod(60*60)[1]。divmod(60)]。展平!=>[0,24,30]这是24分30秒。。。。我想知道,如果小时是0,它是不可见的,它只显示分钟。我说的是时差。。这是我的错,我无法正确解释,但最后我得到了diff=1470t=[diff.divmod(60*60)[0],diff.divmod(60*60)[1].divmod(60)].flatte!=>[0,24,30]这是24分30秒。。。。我想,如果小时是0,它是不可见的,它只显示分钟