wordpress   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了windows – Java日历问题,JDK 1.6.0.22大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

获得一年中的一周我有一个问题.在我的机器上,JDK 1.6.0.22版本安装在另一台机器1.6.0.21上.两台机器都返回不同的结果: (1.6.0.22) week is: 1 (1.6.0.21) week is: 52 对于此代码: try { Calendar current = new GregorianCalendar(); DateFormat d
获得一年中的一周我有一个问题.在我的机器上,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”甚至可能是更正确的结果,并且由于区域设置数据中的错误修复.

大佬总结

以上是大佬教程为你收集整理的windows – Java日历问题,JDK 1.6.0.22全部内容,希望文章能够帮你解决windows – Java日历问题,JDK 1.6.0.22所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。