【问题标题】:Get date representation in seconds?以秒为单位获取日期表示?
【发布时间】:2012-06-21 19:42:01
【问题描述】:

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

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

【问题讨论】:

  • 出于好奇,API 需要多少秒?还是特定时代的秒数?因为如果它接受并使用任何 int 秒,只需从您的日期变量中获取秒值。
  • getTime() 方法返回自 Epoch 以来的毫秒数。除以 1000 得到秒数。
  • 检查getTime util.Date 类中的方法。
  • 我不明白这里的反对票和标志。这是一个完全可读的主题问题,有一个具体的答案!

标签: java data-conversion java.util.date


【解决方案1】:

导入 java.util.Date;

... long secs = (new Date().getTime())/1000; ...

请看-http://docs.oracle.com/javase/6/docs/api/java/util/Date.html#getTime()

【讨论】:

    【解决方案2】:

    从 Java 8 及更高版本开始,有一种优雅的方法可以返回以秒为单位的 Epoch 时间(自 1970 年 1 月 1 日 0:00:0 以来的秒数)。然后,您可以将此值存储为数值:在本例中为“long”。

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

    【讨论】:

      【解决方案3】:

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

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

      输出: 1340128712111

      【讨论】:

        【解决方案4】:

        秒数本身并没有多大意义。当前分钟内的秒数?自 1970 年 1 月 1 日 0:00:00 以来的秒数?午饭后的秒数?能不能具体点。

        将其放入 API 也没有多大意义,除非您明确指定您正在使用哪个 API,以及您尝试将这些时间放在哪里。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-09-03
          • 2011-04-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-18
          • 2012-07-11
          相关资源
          最近更新 更多