1

我想写一行代码来计算30天的毫秒数。

long gracePeriod = 30/*days*/ * 24 * 60 * 60 * 1000;

但是,在流口水中不起作用,因为它将 int 分配给 long。所以我想我可以做这样的事情。

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;

有什么办法可以让这更简单。

4

1 回答 1

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;
于 2012-08-20T20:29:44.457 回答