从天数转换为毫秒

maa*_*aas 65 java datetime-conversion

我想创建一个将天数转换为毫秒的函数.天数格式存储为0.2444,那么如何将其转换为milliseonds?

E_X*_*E_X 234

在我看来,最好的做法是:

TimeUnit.DAYS.toMillis(1);     // 1 day to milliseconds.
TimeUnit.MINUTES.toMillis(23); // 23 minutes to milliseconds.
TimeUnit.HOURS.toMillis(4);    // 4 hours to milliseconds.
TimeUnit.SECONDS.toMillis(96); // 96 seconds to milliseconds.
Run Code Online (Sandbox Code Playgroud)

  • 不,这不应该被接受答案,因为DAYS.toMillis只需要很长的参数而且OP有两天的天数 (7认同)
  • 这个答案是大多数来这里的人正在寻找的答案,但不是OP的答案 (2认同)

dog*_*ane 106

除了其他答案之外,还有TimeUnit类允许您将一个持续时间转换为另一个持续时间.例如,要找出一天有多少毫秒组成:

TimeUnit.MILLISECONDS.convert(1, TimeUnit.DAYS); //gives 86400000
Run Code Online (Sandbox Code Playgroud)

请注意,此方法需要a long,因此如果您只有一天的一小部分,则必须将其乘以一天内的毫秒数.


Vla*_*lad 18

days * 24 * 60 * 60 * 1000不够吗?

  • 他可能想要很长的时间,因此您可能还需要从结尾处的两倍取整。 (2认同)

Gau*_*pta 11

24小时= 86400秒= 86400000毫秒.只需将您的号码乘以86400000即可.


Rus*_*fin 10

值得一提的是,一旦在4 - 5年内,这种方法可能会产生1秒的误差,因为闰秒(http://www.nist.gov/pml/div688/leapseconds.cfm)和正确的公式那一天会是

(24*60*60 + 1) * 1000
Run Code Online (Sandbox Code Playgroud)

有一个问题日历是否有闰秒?答案是否定的.

因此,如果您正在设计超级时间相关的软件,请注意这个公式.

  • 如果有人感兴趣的话——2016 年将会有闰秒 (2认同)