public static void main(String[] args) {
LocalDateTime ldt = LocalDateTime.now();
ZonedDateTime zdt = ZonedDateTime.of(ldt, ZoneId.systemDefault());
Instant instant = Instant.from(zdt);
Timestamp timestamp = Timestamp.from(instant);
System.out.println(ldt + "
");
System.out.println(zdt + "
");
System.out.println(instant + "
");
System.out.println(timestamp + "
");
}
然后打印出来:
2017-05-07T18:13:26.969
2017-05-07T18:13:26.969-04:00[America/New_York]
2017-05-07T22:13:26.969Z
2017-05-07 18:13:26.969
如何使 SQL Timestamp 与 Instant 的保存时间相同?我需要能够从任何地方获取 Timestamp 并将其转换为它碰巧在世界那个地方的任何时间.问题是它一直保存与我的系统时钟设置的时间相同.
How can I make an SQL Timestamp save with the same time as the Instant? I need to be able to get the Timestamp from anywhere and convert it to whatever time it happens to be in that part of the world. The problem is that it keeps saving as the same time as whatever my system clock happens to be set at.
你最好从 LocalDateTime 中获取 Timestamp,而不是从 Instant.
You are best to get a Timestamp from a LocalDateTime, rather than from an Instant.
第一步是获取您的 ZonedDateTime 并将其转换为 GMT:
The first step is to take your ZonedDateTime and convert it to GMT:
ZonedDateTime gmt = zdt.withZoneSameInstant(ZoneId.of("GMT"));
然后您可以通过 LocalDateTime 将其转换为 Timestamp:
Then you can convert it to a Timestamp via a LocalDateTime:
Timestamp timestamp = Timestamp.valueOf(gmt.toLocalDateTime());
这篇关于如何使 java.sql.Timestamp UTC 时间?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
“Char 不能被取消引用"错误quot;Char cannot be dereferencedquot; error(“Char 不能被取消引用错误)
Java Switch 语句 - 是“或"/“和"可能的?Java Switch Statement - Is quot;orquot;/quot;andquot; possible?(Java Switch 语句 - 是“或/“和可能的?)
Java替换字符串特定位置的字符?Java Replace Character At Specific Position Of String?(Java替换字符串特定位置的字符?)
具有 int 和 char 操作数的三元表达式的类型是什么What is the type of a ternary expression with int and char operands?(具有 int 和 char 操作数的三元表达式的类型是什么?)
读取文本文件并存储出现的每个字符Read a text file and store every single character occurrence(读取文本文件并存储出现的每个字符)
为什么我需要在 byte 和 short 上显式转换 char 原语Why do I need to explicitly cast char primitives on byte and short?(为什么我需要在 byte 和 short 上显式转换 char 原语?)