java - 为什么这个时区设置不正确?

标签 java android timezone

给定以下 (Android) 代码:

Calendar cal = Calendar.getInstance();
System.out.println(cal.getTimeZone().toString());
cal.setTimeZone(TimeZone.getTimeZone("America/New York"));
System.out.println(cal.getTimeZone().toString());

我得到以下输出:

sun.util.calendar.ZoneInfo[id="Europe/London",offset=0,dstSavings=3600000,useDaylight=true,transitions=242,lastRule=java.util.SimpleTimeZone[id=Europe/London,offset=0,dstSavings=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDay=-1,startDayOfWeek=1,startTime=3600000,startTimeMode=2,endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=3600000,endTimeMode=2]]
sun.util.calendar.ZoneInfo[id="GMT",offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null]

为什么我的 America\New York 时区没有设置?

最佳答案

试试这个:cal.setTimeZone(TimeZone.getTimeZone("America/New_York"));
还不完全确定,但我认为错误的时区 ID 可能是您的问题。

另请参阅:http://tutorials.jenkov.com/java-date-time/java-util-timezone.html

关于java - 为什么这个时区设置不正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24356215/

相关文章:

java - 为什么要在maven构建中指定java版本?

android - 为什么我们不能在 jetpack compose 的 mutableStateListOf 中使用 delegate 属性

Android,使动画文本在屏幕上向上滚动,就像星球大战的第一部分

java - 广播接收器中未触发断点

java - mysql在sql时间戳和我输入的小时之间移动

azure - 如何在 Azure 开发测试实验室中指定 VM 的时区

java - 仅在行不存在时插入

java - 服务 jboss.web.deployment.default-host./.realm 已经注册

PHP日期偏移量

java - 如何知道我的 android 2.3 应用程序正在使用多少堆内存?