Calendar.getActualMaximum(Calendar.WEEK_OF_YEAR) 怪异

2024-05-06

要么我不明白这个方法getActualMaximum(int)或字段 WEEK_OF_YEAR,或者涉及 Sun bug(或全部三个)...有人可以向我解释为什么吗(至少在德国语言环境中...)以下代码:

    Locale.setDefault( Locale.GERMAN );
    Calendar c = Calendar.getInstance();
    c.set( Calendar.YEAR, 2010 );
    c.set( Calendar.MONTH, 0 );
    c.set( Calendar.DAY_OF_MONTH, 1 );
    System.out.println("max:    "+c.getActualMaximum( Calendar.WEEK_OF_YEAR ));
    System.out.println("actual: "+c.get( Calendar.WEEK_OF_YEAR ));

产生以下输出:

    max:    52
    actual: 53

这是 JavadocgetActualMaximum(int):

返回最大值 指定的日历字段可以有, 给定此日历的时间值。 例如,实际最大值 在某些情况下,MONTH 字段的值为 12 年,以及其他年份的 13 年 希伯来历法系统。


Edit

情节变得更加复杂。在英语语言环境中 (-Duser.language=en -Duser.country=us)输出是:

    max:    52
    actual: 1

似乎表明这是德国语言环境的 Sun 错误?


此信息是正确的:

max:    52
actual: 53

2010 年最多有 52 周。实际周数为 53,因为 2009 年最多有 53 周,并且大多数周从星期日或星期一开始。大多数情况下,第一周是一年中的第一周,一月份有 4 天。由于 1 月 1 日这一周在 2010 年只有 2 或 3 天,因此该周被视为 2009 年的一部分。

英语语言环境很可能对确定第一周有不同的规则,例如第一周是 1 月 1 日那一周。

维基百科的解释是正确的:维基百科周文章 http://en.wikipedia.org/wiki/Seven-day_week#Week_numbering

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Calendar.getActualMaximum(Calendar.WEEK_OF_YEAR) 怪异 的相关文章

随机推荐

  • Android EditText:在触摸时选择所有文本,并在用户开始输入时清除。

    我的应用程序中有一个编辑文本 当用户触摸编辑文本时 应选择整个文本 而当他开始输入文本时 应清除文本 一个例子是浏览器地址栏 有什么办法可以做到这一点吗 请帮助我 您可以使用以下方法选择 EditText 中的所有文本 android se
  • 删除核心数据中的对象

    我的核心数据模型中有一个实体 如下所示 interface Selection NSManagedObject property nonatomic retain NSString book id property nonatomic re
  • 如何BSWAP 64位寄存器的低32位?

    我一直在寻找如何将 BSWAP 用于 64 位寄存器的低 32 位子寄存器的答案 例如 0x0123456789abcdef位于 RAX 寄存器内 我想将其更改为0x01234567efcdab89用一条指令 因为性能 所以我尝试了以下内联
  • 从命名管道读取

    我必须实现一个 打印服务器 我有 1 个客户端文件和 1 个服务器文件 include
  • iOS 中的随机颜色

    我想让我的导航栏每次加载时都具有不同的颜色 我在 viewDidApear 中放置了以下代码 CGFloat hue arc4random 256 256 0 0 0 to 1 0 CGFloat saturation arc4random
  • JQuery 从 Div 中抓取文本减去子元素[重复]

    这个问题在这里已经有答案了 有没有一种简单的方法可以从这个 div 中获取文本而不获取任何子元素 div strong Title Text Unwanted strong This is the text I need div 我知道我可
  • Chrome 无法识别我对 javascript 文件的更改并加载旧代码?

    我在这里坐了将近一个小时来测试我正在构建的网站 由于我想查看代码中的新更改 因此我重新加载了代码 但它正在重新加载旧代码 我打开了 devetools 进行硬重新加载和清空缓存硬重新加载 它们都加载我的旧代码 我进入隐身模式 它做了同样的事
  • 检测 Android 中 OSM Mapview 是否仍在加载

    我已将 Open Street Maps 包含在我的 Android 应用程序中 在地图视图中 用户应该能够在地图完全加载后捕获屏幕 但目前 即使地图视图仍在加载 用户也可以捕获图像 有人可以告诉我如何检测地图视图何时完全加载吗 下面是我加
  • 将 dataGridView 绑定到绑定列表并按文本框过滤行

    我正在开发一个 Winforms 应用程序 并且有一个已经绑定到 dataGridView 的对象的 BindingList 我还有一个 过滤器 文本框 如果它们与文本框文本不匹配 我想从 datagridview 行中过滤掉行 我想以某种
  • 更改 RabbitMQ 队列中的参数

    我有一个 RabbitMQ 队列 最初声明如下 var result channel QueueDeclare NewQueue true false false null 我正在尝试添加死信交换 因此我将代码更改为 channel Exc
  • 从字符串渲染 React 组件

    我在字符串中有一些 React 代码 例如 const component function App return div test div 我希望能够从浏览器内渲染该组件 例如 import React Component from re
  • 如何使用 Solr 索引 pdf 内容?

    我正在尝试使用 SolrJ 索引一些 pdf 文档 如下所述http wiki apache org solr ContentStreamUpdateRequestExample http wiki apache org solr Cont
  • 如何测试抽象类的受保护抽象方法?

    我一直在研究测试名为的抽象类的最佳方法TabsActionFilter 我保证继承自的类TabsActionFilter将有一个名为GetCustomer 在实践中 这种设计似乎效果很好 我遇到的一些问题是弄清楚如何测试OnActionEx
  • 如何在 Mac OS X 上的 postgres 中安装 tablefunc?

    我使用 StackBuilder 在我的 Mac OS X 计算机上安装 Postgres 9 2 现在需要使用tablefunc 貌似该功能不可用 如何在 Mac 上安装 contrib 包 正如 a horse with no name
  • 如何在 Ruby 中使用全局变量或常量值?

    我有一个看起来像这样的程序 offset Point new 100 200 def draw point pointNew offset point drawAbsolute point end draw Point new 3 4 指某
  • 获取数组的第一个元素

    我有一个数组 array 4 gt apple 7 gt orange 13 gt plum 我想获取这个数组的第一个元素 预期结果 字符串apple 要求一 它不能通过引用传递来完成 so array shift这不是一个好的解决方案 我
  • Perl:避免从标准输入贪婪读取?

    考虑以下 perl 脚本 read pl my line
  • 单个函数的 Numpy 均值和方差?

    使用 Numpy Python 是否可以从单个函数调用返回均值 AND 方差 我知道我可以单独做它们 但是计算样本标准差需要平均值 因此 如果我使用单独的函数来获取均值和方差 则会增加不必要的开销 我尝试在这里查看 numpy 文档 htt
  • 在开始工作之前忘记在 GitHub 上进行 fork

    假设我将 C 公司的 X 项目存储库从 github 克隆到我的本地计算机 我在本地为自己创建一个分支 对其进行一些工作并在本地提交到我的分支 现在我想向 C 公司发出拉取请求 但我意识到我应该在 gitub 上进行分叉以创建我自己的项目
  • Calendar.getActualMaximum(Calendar.WEEK_OF_YEAR) 怪异

    要么我不明白这个方法getActualMaximum int 或字段 WEEK OF YEAR 或者涉及 Sun bug 或全部三个 有人可以向我解释为什么吗 至少在德国语言环境中 以下代码 Locale setDefault Locale