小编Ale*_*min的帖子

Java - 将java.time.Instant转换为没有Zone偏移量的java.sql.Timestamp

在我正在开发的应用程序中,我需要将java.time.Instant对象转换为java.sql.Timestamp.当我创建Instant对象时,例如

Instant now = Instant.now();
Run Code Online (Sandbox Code Playgroud)

并检查元素.我收到类似的东西2017-03-13T14:28:59.970Z 然后我尝试创建这样的Timestamp对象:

Timestamp current = Timestamp.from(now);
Run Code Online (Sandbox Code Playgroud)

当我检查元素时.我收到类似2017-03-13T16:28:59.970Z 相同的结果,但增加了2小时的偏移量.任何人都可以解释你的这种情况,并为我提供答案如何解决这个问题而不会产生抵消?

当我这样创建时:

LocalDateTime ldt = LocalDateTime.ofInstant(Instnant.now(), ZoneOffset.UTC);
Timestamp current = Timestamp.valueOf(ldt);
Run Code Online (Sandbox Code Playgroud)

一切正常.但我尽量避免转换.有没有办法只使用Instant对象?

java time timestamp date java.time.instant

32
推荐指数
2
解决办法
3万
查看次数

标签 统计

date ×1

java ×1

java.time.instant ×1

time ×1

timestamp ×1