java - Java如何管理夏令时?
问题描述
很多人都知道,在欧洲,我们有一个夏季和一个冬季。每年两次,所有欧盟成员国的时钟从冬季切换到夏季(3 月的最后一个星期日),然后从夏季切换到冬季(10 月的最后一个星期日)(更多信息在这里)。现在,欧盟委员会即将提议取消这些时钟变化。
在 Java 中,我们有日历,而且日历总是知道正确的时区(即 GMT+1 表示夏季,GMT+2 表示冬季)。Java如何管理这个?而且,如果它发生了变化,它将如何影响我们的系统?
所以,正如我在评论中看到的那样,不应该有任何变化,因为 Java 使用系统时间并且它是由 NTP 设置的,对吧?
解决方案
我会说java.util.TimeZone
。
TimeZone
表示时区偏移,还计算夏令时。通常,您会得到一个TimeZone
using ,它根据程序运行的时区getDefault
创建一个。TimeZone
例如,对于在日本运行的程序,getDefault
创建一个TimeZone object
基于日本标准时间的程序。
您还可以TimeZone
使用getTimeZone
时区 ID。例如,美国太平洋时区的时区 ID 是“America/Los_Angeles”。因此,您可以通过以下方式获取美国太平洋时间 TimeZone 对象:
TimeZone tz = TimeZone.getTimeZone("America/Los_Angeles");
推荐阅读
- python - Python PATH 无法识别附加到它的目录
- ethereum - 什么时候需要将 ERC-1155 元数据 URI 补零到 64 个十六进制字符?
- android-studio - 如何减小 Google Play Console 的应用程序大小(我正在使用 Android Studio)
- google-cloud-platform - 缺少权限:尝试从 AI Platform (Google Cloud) 导出模型时的 storage.objects.update
- django - How to Count the number of replies from a comment in a given photo using Django Query?
- php - Symfony PHPUnit问题安装Xdebug for --coverage-html
- java - Java 安全性:在没有 pin 弹出窗口的情况下签名
- r - 将 sum 与 group_by 一起使用时行消失
- python - 什么是最好的python正则表达式,只排除一对大括号之间的一个逗号实例?
- node.js - PostgreSQL 的 TypeORM 性能问题