Vin*_*ade 7 timezone java-8 java-time
我想得到以秒为单位的差异,以确定系统时区是领先还是落后于远程时区。这里的远程时区值是我从数据库获取的“GMT”。它可能是“美国/东部”,我将其转换为“美国/纽约”。但对于 GMT,我收到错误。
ZoneId.systemDefault().getRules().getOffset(Instant.now()).getTotalSeconds()
- ZoneId.of("GMT").getRules().getOffset(Instant.now()).getTotalSeconds()
Run Code Online (Sandbox Code Playgroud)
但它给出了以下错误,
Exception in thread "main" java.time.DateTimeException: Invalid ID for ZoneOffset, invalid format:
at java.time.ZoneOffset.of(Unknown Source)
at java.time.ZoneId.of(Unknown Source)
at java.time.ZoneId.of(Unknown Source)
Run Code Online (Sandbox Code Playgroud)
如何解决这个错误?用什么来代替 GMT?
使用Etc/UTC
import java.time.Instant;
import java.time.ZoneId;
public class Main {
public static void main(String args[]) {
System.out.println(ZoneId.of("Etc/UTC").getRules().getOffset(Instant.now()).getTotalSeconds());
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17011 次 |
| 最近记录: |