windows – Java日历问题,JDK 1.6.0.22
获得一年中的一周我有一个问题.在我的机器上,JDK 1.6.0.22版本安装在另一台机器1.6.0.21上.两台机器都返回不同的结果:
对于此代码: try { Calendar current = new GregorianCalendar(); DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); Date d = df.parse("2010-12-28 19:04:38 GMT"); current.setTime(d); int currentWeek = current.get(Calendar.WEEK_OF_YEAR); System.out.println("week is: "currentWeek); } catch (ParseException e) { e.printStackTrace(); } 为什么JDK 1.6.0.22会给出错误的结果? 解决方法
这段摘录
from the API documentation解释了为什么会出现这种差异:
并从日历的源代码:
因此,区域设置决定了这一点,而不是时区!显然,在某些地区,一年的第1周被认为是在去年开始的.试试这个: Calendar cal = new GregorianCalendar(); System.out.println(Locale.getDefault()); System.out.println(cal.getMinimalDaysInFirstWeek()); System.out.println(cal.getFirstDayOfWeek()); 我打赌你要么在不同的语言环境中运行不同的版本,要么在这些版本之间更改语言环境数据.结果“1”甚至可能是更正确的结果,并且由于区域设置数据中的错误修复. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- win-universal-app – Windows 10 Universal app flyout,如
- windows-server-2008-r2 – 如何在Windows Server 2008 R2
- 在Windows中创建一个菜单按钮
- windows – 为什么系统管理员将任务栏设置为不在服务器上显
- Windows – 远程桌面客户端找不到远程计算机
- windows – 无法连接到真实的www.google.com
- windows – 具有基于标头的路由的HTTP负载均衡器?
- Vulkan Tutorial 07 Window surface
- windows – 如何找出连接到互联网的NIC?
- 显示如何在Windows PowerShell 3.0中覆盖TabExpansion2的示
- cygwin – cygpath无法将Windows路径转换为Linux
- 当新DLL复制到BIN目录时,ASP.net C#需要重新启动
- 如何以编程方式确定用户帐户是否是Windows中特定
- 使用SNMP监视Windows Server
- windows中PHP5.2.14以及apache2.2.16安装配置方法
- 在Windows 2008 Server上将桌面快捷方式添加到“
- windows-server-2008-r2 – Windows显示实际安装
- ntfs – 如何删除名称末尾带有空格的文件和隐藏属
- 重装windows系统后配置Anaconda
- active-directory – 重命名域控制器很奇怪…帮忙