【问题标题】:Specific day number using java Calendar API使用 java Calendar API 的特定日期数
【发布时间】:2015-09-04 14:04:35
【问题描述】:

如何使用 Calendar API 从给定日期获取天数。

示例:
02/01/2016 是 2016 年的第一个星期六(结果 1
10/01/2015 是 2015 年的第二个星期六(结果 2

我以为我可以使用周数

int week = calendar.get(Calendar.WEEK_OF_YEAR);

但是当我们有 53 周的前一年时,它就不起作用了

例如:09/01/2016 将在 2016 年的第二个星期六返回 1

【问题讨论】:

  • 请注意,Calendar.WEEK_OF_YEAR 的定义因区域设置而异。
  • 您还没有定义一年中的一周对您意味着什么。您的意思是ISO 8601 标准定义(日历年的第一个星期四是从星期一开始的第一周)?或者你的意思是第 1 周有 1 月 1 日?或者第 1 周有第一个星期日或其他星期几?还有什么?

标签: java date calendar


【解决方案1】:

setMinimalDaysInFirstWeek()解决了这个问题

1 - 我根据需要选择周数:int weekNbr = cal.get(Calendar.WEEK_OF_YEAR);

2 - 我将第一周的天数设置为 1:cal.setMinimalDaysInFirstWeek(1);

3- 周数现在将反映正确的周末数:int weekendNbr = cal.get(Calendar.WEEK_OF_YEAR);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-07
    • 2020-03-21
    • 1970-01-01
    • 1970-01-01
    • 2017-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多