我正在使用一个 API,它需要一个日期参数作为秒数,一个int
.
我的问题是我目前将这个时间存储在 java.util.date
中,我想知道是否有某种方法可以将 java.util.date
变量转换为秒,以便我可以将其放入 API 所需的int
参数中?
import java.util.Date;
。长秒 = (new Date().getTime())/1000;...
请看 - http://docs.oracle.com/javase/6/docs/api/java/util/Date.html#getTime()
从 Java 8 及更高版本开始,就有了以秒为单位返回纪元时间(自 1970 年 1 月 1 日 0:00:0 以来的秒数)的方法。然后,您可以将此值存储为数值:在本例中为"long"。
long timestamp = java.time.Instant.now().getEpochSecond();
>java.util.Date.getTime()
它返回自 1970 年 1 月 1 日 00:00:00 GMT 以来由此 Date 对象表示的毫秒数。
java.util.Date date=new Date();
System.out.println(date.getTime());
输出:1340128712111
要从毫秒获得秒数,您需要将其除以 1000
.
long secs = date.getTime()/1000;
System.out.println(secs);
输出:1340128712
或者,Instant.getEpochSecond()
返回 Java 纪元 1970-01-01T00:00:00Z 的秒数。它从 Java v1.8 文档开始可用。
秒数本身并没有多大意义。 当前分钟内的秒数? 自 1970 年 1 月 1 日 0:00:00 以来的秒数? 午饭后的秒数? 你能更具体一点吗?
将其放入 API 也没有多大意义,除非您准确指定您正在使用的 API,以及您尝试将这些秒放在哪里。