1
嗨在下面的代码段我得到的输出为9和10,为什么会发生这种情况?即使日历的时区不同,我们也会通过相同的日期来设置时间。据我所知,时间是从历元计算出来的一个相对值,所以无论什么时区,这个相对值都应该是相同的在不同时区的Java日历给出了不同的值同时
我在一个时区遇到与我的数据库类似的问题,服务器在另一个。
Date date = new Date();
Calendar c = Calendar.getInstance(TimeZone.getTimeZone("America/Los_Angeles"),Locale.US);
Calendar c1 = Calendar.getInstance();
c.setTime(date);
c1.setTime(date);
System.out.println(c.get(Calendar.HOUR));
System.out.println(c1.get(Calendar.HOUR));
现在在洛杉矶的时间和你住的地方一样吗?格林威治是否一样?来自wiki *“时区是地球上具有统一标准时间的地区......陆地上的大多数时区都与协调世界时(UTC)相差了整整数小时(UTC-12到UTC + 14),但有一些偏移了30或45分钟,一些较高纬度的国家在一年中的一部分时间使用夏令时,通常是通过改变时钟一小时。*“ – MadProgrammer 2013-02-27 05:35:16
嗨,感谢您的时间,但请不要说我我将相同的时间设置为日历实例,甚至在设置日历实例的正常时间之后,它们将返回不同的值,那就是我的困惑 – Ajay 2013-02-27 05:36:45
是的,但是您在两个不同的时区设置“相同时间”这就是每个人都在做的事情。格林威治标准时间上午10点!= PST上午10点。 – Ben 2013-07-19 09:40:34