在Java中获得“unixtime”
Date.getTime()返回自1970年1月1日以来的毫秒数。Unixtime是1970年1月1日以来的秒数。我通常不用java代码,但是我正在修正一些错误。 我有:
Date now = new Date(); Long longTime = new Long(now.getTime()/1000); return longTime.intValue();
有没有更好的方法来获得java的unixtime?
UPDATE
基于约翰·M的build议,我结束了:
return (int) (System.currentTimeMillis() / 1000L);
避免创builddate对象w / System.currentTimeMillis() 。 除以1000可以让你进入Unix时代。
正如在评论中提到的那样,对于unixTimevariables的types,通常需要一个原始的long(long-case-long),而不是long long(long-long)的装箱对象。
long unixTime = System.currentTimeMillis() / 1000L;
Java 8添加了一个新的API来处理date和时间。 使用Java 8,您可以使用
long unixTimestamp = Instant.now().getEpochSecond();
Instant.now()
返回表示当前系统时间的Instant 。 通过getEpochSecond()
你可以从Instant
获得纪元秒(unix time)。