我有这个:
<(Time.now).to_i>
它返回一个整数并希望将该整数值转换为(分钟和秒)仅根据我的要求
试试这个
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
使用strftime--请参阅本页http://www.dzone.com/snippets/date-time-format-ruby它有格式(尽管它类似于c/c++和Java)
此外,你可能会想对时间类的时区处理进行一些研究。有一个函数:intimezone,可以为您转换时区。因此,通常情况下,您存储时间或提取的时间是UTC,然后您可以在存储时间之前动态更改时区。