Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么不是';这个时区设置是否正确?_Java_Android_Timezone - Fatal编程技术网

Java 为什么不是';这个时区设置是否正确?

Java 为什么不是';这个时区设置是否正确?,java,android,timezone,Java,Android,Timezone,给出以下(Android)代码: 我得到以下输出: 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

给出以下(Android)代码:

我得到以下输出:

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可能是你的问题


另请参见:

尝试以下操作:
cal.setTimeZone(TimeZone.getTimeZone(“美国/纽约”)
还不完全确定,但我认为一个错误的时区ID可能是你的问题

另请参见:

问题似乎是错误的

乔达时间 仅供参考,这是《Joda Time》中的相同代码。在Joda Time中,DateTime对象知道自己分配的时区,这与java.util.Date对象不同

DateTimeZone timeZone = DateTimeZone.forID( "America/New_York" );
DateTime now = DateTime.now( timeZone );
如果需要,调整到UTC

DateTime dateTimeUtc = now.withZone( DateTimeZone.UTC );
如果需要与其他类一起使用,请转换为java.util.Date

java.util.Date date = dateTime.toDate();
这个问题的答案似乎是错误的

乔达时间 仅供参考,这是《Joda Time》中的相同代码。在Joda Time中,DateTime对象知道自己分配的时区,这与java.util.Date对象不同

DateTimeZone timeZone = DateTimeZone.forID( "America/New_York" );
DateTime now = DateTime.now( timeZone );
如果需要,调整到UTC

DateTime dateTimeUtc = now.withZone( DateTimeZone.UTC );
如果需要与其他类一起使用,请转换为java.util.Date

java.util.Date date = dateTime.toDate();

为了澄清,更正在“纽约”中使用了下划线:
America/New_York
。见此。为了澄清,更正在“纽约”中使用了下划线:
America/New_York
。看这个。