在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)。