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

Counting up minutes and hours of a day, adding leading zero to min and hour when single digit - Ruby

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

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

这是我目前的情况:

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

给予

0:0
0:1
...
0:10
...
1:1
...
10:1
...
23:59

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

00:00  
...
23:59

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

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

24.times { |h| 60.times { |m| puts "#{"%02d" % h}:#{"%02d" % m}" } }
(24*60).times { |m| puts "%02d:%02d" % m.divmod(60) }
00:00
00:01
00:02
00:03
00:04
00:05
00:06
00:07
00:08
00:09
00:10
...
23:55
23:56
23:57
23:58
23:59

另一种方式:

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