小编典典

从毫秒到小时,分钟,秒和毫秒

algorithm

我需要从毫秒变为表示相同时间量的元组(小时,分钟,秒,毫秒)。例如:

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)

我敢肯定,一定有可能使它更智能/更优雅/更快/更紧凑。


阅读 840

收藏
2020-07-28

共1个答案

小编典典

这是我在Java中的做法:

int seconds = (int) (milliseconds / 1000) % 60 ;
int minutes = (int) ((milliseconds / (1000*60)) % 60);
int hours   = (int) ((milliseconds / (1000*60*60)) % 24);
2020-07-28