如何以秒为单位获取当前UTC时间戳

kre*_*eya 3 java timestamp

如何获得UTC/GMT中的当前时间戳,然后如何将此时间戳转换为秒?虽然这是一个例外

    SimpleDateFormat sdfu  = new SimpleDateFormat("yyyy-MM-dd kk:mm");
    Date udate = sdfu.parse(dateAndTimeUTC);
    long timeInMillisSinceEpoch123 = udate.getTime(); 
    long durationinSeconds2 = timeInMillisSinceEpoch123 / 1000;
    System.out.println("Time in Seconds UTC: " + durationinSeconds2);
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法将UTC/GMT时间戳转换为秒?

小智 34

获得当前秒系统 long timestamp = System.currentTimeMillis() / 1000;

  • @Limnic 你的说法是错误的。[Java 文档](https://docs.oracle.com/javase/7/docs/api/java/lang/System.html#currentTimeMillis()) 指出“**返回:**<br />差异,以毫秒为单位,在当前时间和 UTC 1970 年 1 月 1 日午夜之间。” 自 UTC 以来的时差采用 UTC 时间,不受时区影响。 (3认同)
  • 请注意,这将返回计算机时区的当前时间,而不是严格的UTC. (2认同)

yue*_*n26 13

使用 Java 8+,您可以使用:

Instant.now().getEpochSecond()
Run Code Online (Sandbox Code Playgroud)