我需要从毫秒变为表示相同时间量的元组(小时,分钟,秒,毫秒)。例如:
10799999ms = 2h 59m 59s 999ms
以下伪代码是我唯一能想到的:
# The division operator below returns the result as a rounded down integer function to_tuple(x): h = x / (60*60*1000) x = x - h*(60*60*1000) m = x / (60*1000) x = x - m*(60*1000) s = x / 1000 x = x - s*1000 return (h,m,s,x)
我敢肯定,一定有可能使它更智能/更优雅/更快/更紧凑。
这是我在Java中的做法:
int seconds = (int) (milliseconds / 1000) % 60 ; int minutes = (int) ((milliseconds / (1000*60)) % 60); int hours = (int) ((milliseconds / (1000*60*60)) % 24);