加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java Calendar返回不同的日期

发布时间:2020-12-14 19:16:59 所属栏目:Java 来源:网络整理
导读:我做以下事情: 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.

我做以下事情:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读