將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