java - Java 中的夏令时结束问题

标签 java date dst

我试图找到 DST 的工作原理,因为我已经编写了讨论 DST 的代码示例,我想知道为什么 TimeZone 根据我的理解在凌晨 1:00 更改 DST 2013 年 11 月 3 日凌晨 2:00 所以在 2 :00AM 它应该给 1:00AM 然后 TimeZone 应该被更改,但它不是那样的。谁能帮我解决这个问题......

public static void main(String[] args) throws InterruptedException 
{
    TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles"));
    DateFormat fmt = new SimpleDateFormat("dd-MM-yy HH:mm:ss zz");

    Calendar cal = Calendar.getInstance();
    cal.set(2013, 10, 03, 0, 59, 59);
    System.out.println(fmt.format(cal.getTime()));

    cal.set(2013, 10, 03, 1, 0, 0);
    System.out.println(fmt.format(cal.getTime()));
}

输出:

03-11-13 00:59:59 PDT
03-11-13 01:00:00 PST

最佳答案

01:00 出现两次,一次在太平洋夏令时间,一次(一小时后)在太平洋标准时间。

如果您告诉 Calendar 现在是时间更改日期的 01:00,则该类会识别您的输入对应于 2 个不同的可能时间,并任意使用其中一个。

关于java - Java 中的夏令时结束问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16673860/

相关文章:

c# - 400 错误请求仅在 Android 应用程序中无效的主机名

php - 时区和夏令时问题

java - 如何在HashMap中创建和推送动态元素

java - 解开注释以撤消错误的 Eclipse 格式

java - 在java中读取对象错误java.io.StreamCorruptedException : invalid type code: AC

sql - 需要计算截止日期的年月日

javascript - 模型不是 AngularJS 中输入的日期对象

python - 使用 pyodbc 将带日期的数据上传到 MS Access 数据库

google-app-engine - Python tzinfo 和夏令时

java - 如何计算考虑到日节省类次的日期之间的天数?