我想写一行代码来计算30天内的毫秒数。
long gracePeriod = 30/*days*/ * 24 * 60 * 60 * 1000;
然而,在流口水中不会起作用,因为它正在为长期分配一个int。所以我想我可以做这样的事情。
long gracePeriod = 30l/*days*/ * 24l * 60l * 60l * 1000l;
但是,这也行不通,所以我不得不做一些愚蠢的事情:
long grace1 = 30;
long grace2 = 24;
long grace3 = 60;
long grace4 = 1000;
long grace = grace1 * grace2 * grace3 * grace3 * grace4;
有没有办法让这更简单。
答案 0 :(得分:0)
对我来说,这些样本中的所有4个都可以工作(并且比你必须使用的更清洁)。如果一个或多个不适合您,则可能是您的IDE或Java环境存在问题。如果是这样,请告诉我们您正在运行的Java版本和环境。
public class TempProject
{
public static void main(String args[])
{
long gracePeriod = 30l /*days*/ * 24l * 60l * 60l * 1000l;
long gracePeriod2 = 30l /*days*/ * 24 * 60 * 60 * 1000;
long gracePeriod3 = ((long)30) /*days*/ * 24 * 60 * 60 * 1000;
long gracePeriod4 = ((long) 30)/*days*/ * ((long) 24) * ((long) 60) * ((long) 60) * ((long) 1000);
System.out.println(gracePeriod);
System.out.println(gracePeriod2);
System.out.println(gracePeriod3);
System.out.println(gracePeriod4);
}
}
当然最简单的方法是硬编码;)
long gracePeriod = 2592000000l;