Java获取当前时间戳

后端 潘老师 6个月前 (10-31) 128 ℃ (0) 扫码查看

在Java中,时间戳由以下类表示:

  • java.time.Instant(自Java 8起)
  • java.sql.Timestamp(Java 7及更早版本)

1.Java8及以上使用Instant获取当前时间戳

Instant表示时间轴上的一个唯一点,主要用于记录应用程序中的事件时间戳。它是一个以UTC(通用时间尺度)表示的实际时间点。

Instant instant = Instant.now();
System.out.println(instant);   //2023-10-31T01:10:57.148Z

2.java.sql.Timestamp(Java 7或更早版本)

这个遗留类有两种方法可以获取当前时间戳。

Timestamp timestamp1 = new Timestamp(System.currentTimeMillis());

Date date = new Date();
Timestamp timestamp2 = new Timestamp(date.getTime());

System.out.println(timestamp1);     //2022-02-15 13:55:56.18
System.out.println(timestamp2);     //2022-02-15 13:55:56.18    

3.Instant与ZonedDateTime的对比

从高层次来看,Instant和ZonedDateTime类似乎很相似,但它们并不相同。

  • ZonedDateTime是特定时区的实际时间点。
  • Instant是UTC中的一个时间点。

Instant.now()的值在世界上任何地方都是完全相同的,而ZonedDateTime.now()的值将根据与该实例关联的时区进行调整。

通常情况下,考虑使用Instant类来存储数据库中的时间戳值,并在不同的应用程序之间传递。使用ZonedDateTime实例向用户显示特定时区的信息。


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/back/10511.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】