以秒为单位获取日期表示?

我使用的API需要一个日期参数作为秒数,一个int

我的问题是我目前将这一次存储在java.util.date ,我想知道是否有一些方法可以将java.util.date变量转换为秒,以便我可以将它放入API所需的int参数中?

import java.util.Date;

… long secs =(new Date()。getTime())/ 1000; …

请参阅 – http://docs.oracle.com/javase/6/docs/api/java/util/Date.html#getTime()

java.util.Date.getTime()它返回自此Date对象表示的1970年1月1日00:00:00 GMT以来的毫秒数。

  java.util.Date date=new Date(); System.out.println(date.getTime()); 

输出 :1340128712111

秒数本身并不意味着什么。 当前分钟内的秒数? 自1970年1月1日0:00:00以来的秒数? 午餐后的秒数? 你可以再详细一点吗。

将它放入API也没有多大意义,除非您确切地指定了您正在使用的API,以及您尝试放置这些秒的位置。

从Java 8开始,这个优雅的方法以秒为单位返回大纪元时间(自1970年1月1日0:00:0以来的秒数)。 然后,您可以将此值存储为数值:在这种情况下为“long”。

long timestamp = java.time.Instant.now().getEpochSecond();