计算一天中的分钟和小时数,将前导零添加到分钟和小时数,如果是一位数-Ruby

计算一天中的分钟和小时数,将前导零添加到分钟和小时数,如果是一位数-Ruby,ruby,string,nested-loops,Ruby,String,Nested Loops,我想以24小时格式xx:xx计算一天中所有小时分钟的可能性(需要是字符串) 但是,我正在努力获取前导零: 以下是我到目前为止的情况: 24.times { |h| 60.times { |m| puts "#{h}:#{m}" } } 给予 我希望在小时和分钟上都有前导零 00:00 ... 23:59 可以在这一行中完成,还是需要将这些循环分开?您可以使用以下语法格式化数字:“0Nd”%I,其中N是填充量(在您的情况下为2),而I是要填充的数字 24.times { |h| 60.ti

我想以24小时格式xx:xx计算一天中所有小时分钟的可能性(需要是字符串)

但是,我正在努力获取前导零:

以下是我到目前为止的情况:

24.times { |h| 60.times { |m| puts "#{h}:#{m}" } }
给予

我希望在小时和分钟上都有前导零

00:00  
...
23:59

可以在这一行中完成,还是需要将这些循环分开?

您可以使用以下语法格式化数字:
“0Nd”%I
,其中
N
是填充量(在您的情况下为2),而
I
是要填充的数字

24.times { |h| 60.times { |m| puts "#{"%02d" % h}:#{"%02d" % m}" } }

您可以使用以下语法格式化这样的数字:
“0Nd”%i
,其中
N
是填充量(在您的情况下为2),而
i
是要填充的数字

24.times { |h| 60.times { |m| puts "#{"%02d" % h}:#{"%02d" % m}" } }
另一种方式:

require 'time'
(24*60).times { |t| puts Time.at(t).strftime("%H:%M") }
另一种方式:

require 'time'
(24*60).times { |t| puts Time.at(t).strftime("%H:%M") }

你这样做是因为弦而不是时间对象吗?是的,这是有原因的…@mahatmanich,原因是什么?了解你的约束总是很重要的。在未来,你应该考虑在选择答案之前等待更长的时间。快速抽取选项可能会阻碍其他可能更好、可能只是不同的解决方案,imo对仍在准备答案的人不礼貌。有时——这里不是——所选答案显示不正确。关键是不要着急。这里的许多人至少要等上几个小时才能颁发绿卡。@CarySwoveland从来没有这样想过,但你是对的。。。删除了绿色。。。还有等待……有什么理由你把它作为字符串而不是时间对象来做吗?是的,有理由…@mahatmanich,原因是什么?了解你的约束总是很重要的。在未来,你应该考虑在选择答案之前等待更长的时间。快速抽取选项可能会阻碍其他可能更好、可能只是不同的解决方案,imo对仍在准备答案的人不礼貌。有时——这里不是——所选答案显示不正确。关键是不要着急。这里的许多人至少要等上几个小时才能颁发绿卡。@CarySwoveland从来没有这样想过,但你是对的。。。删除了绿色。。。还有等待…第二个真的很时髦!第二个真的很时髦!