将24小时时间(如军事时间)转换为12小时(钟面)时间似乎是使用模运算符的理想场所,但我无法找出一个纯粹的数学方法来映射0到12(所以有1到12小时而不是0到11)。我已经能够拿出最好的要么是(在Ruby中)24小时和12小时之间更优雅的模数转换?
modHour = militaryHour % 12
if modHour == 0
clockHour = 12
else
clockHour = modHour
end
,或者
hours = [12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
clockHour = hours[ militaryHour % 12 ]
好像必须有某种方式来完成数学这一转变,但我不能不知道。
很酷,我喜欢它! – ivan