Java Calendar返回不同的日期

前端之家收集整理的这篇文章主要介绍了Java Calendar返回不同的日期前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我做以下事情:

Calendar c = Calendar.getInstance(TimeZone.getTimeZone("Europe/Berlin"));
c.setFirstDayOfWeek(Calendar.MONDAY);
c.set(Calendar.DAY_OF_MONTH,9);
c.set(Calendar.MONTH,3);
c.set(Calendar.YEAR,2011);
c.set(Calendar.HOUR_OF_DAY,10);
c.set(Calendar.MINUTE,20);
int week = c.get(Calendar.WEEK_OF_YEAR)

在我的本地机器上,我的时区是欧洲/柏林.在我的服务器上它是UTC.
在本地框上运行此代码将返回week = 14.
在我的服务器上运行此代码将返回week = 15.

我没有想法 – 有人可以向我解释一下吗?这给我带来了很大麻烦:-(

谢谢你的任何指示.

干杯,
基督教

最佳答案
这是你的Locale.当具有de_DE java语言环境时,本周为14,当具有en_US语言环境时,本周为15.将两台计算机设置为相同的语言环境,它们现在应该可以正常工作.

我只测试了我的语言环境与德语环境,并且无法在网上找到一个可靠的列表,其中有哪些语言环境有转移的周数,但我确定这对你来说是个问题.

以编程方式查看您的区域设置:

 Locale.getDefault();

要在Windows 7中更改区域设置:

 Control Panel --> Region & Language --> Location Tab  --> Current Location

猜你在找的Java相关文章