以秒为单位获取日期表示形式



我正在使用一个 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,以及您尝试将这些秒放在哪里。

最新更新