【问题标题】:How to get correct Index of Week Of Year [duplicate]如何获得正确的一年中的一周索引[重复]
【发布时间】:2019-07-01 02:08:35
【问题描述】:

我有一串日期

String dateOfOrder = "02/06/2019";

我想根据我的 dateOfOrder 找出一年中的哪一周。我将字符串设置到 Calender 类中,并尝试使用这种方法,即

int WeekOfYear = c.get(Calendar.WEEK_OF_YEAR);

但是当我通过http://www.whatweekisit.org/在线查看时

我应该得到的预期一年中的第 22 周,但我最终得到第 23 周。无论如何要解决这个问题?

【问题讨论】:

  • 你能分享你如何设置日历的代码
  • 在编程中计数是从0开始的,所以你得到的数字比正确的多,所以当你得到结果时你应该减少一个,然后显示正确的一个
  • 不同地方的周数不同。虽然这在 2019 年可能不是什么大问题,但您应该决定:您想要美国的周数吗?
  • 2019 年 6 月 2 日是一个星期日。在美国和其他一些地方,新的一周从星期日开始,所以这已经是第 23 周。根据国际标准 (ISO 8601),新的一周从星期一开始,所以星期天在旧周,因此第 22 周。
  • 我建议你不要使用Calendar。该课程设计不良且早已过时。而是使用LocalDatejava.time, the modern Java date and time API 中的其他类。

标签: java android java-calendar


【解决方案1】:

尝试这样使用 -

Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR,2019);
c.set(Calendar.MONTH,06);
c.set(Calendar.DATE, 02);

Int week = c.get(Calendar.WEEK_OF_YEAR));

【讨论】:

  • 它仍然告诉我它的 23 而不是 22
  • 你好,君,成功了吗?
【解决方案2】:

也许您可以尝试将 1 添加到您的 WeekOfYear 因为在编程中,计数从 0 开始。

int WeekOfYear = c.get(Calendar.WEEK_OF_YEAR) + 1;

【讨论】:

    猜你喜欢
    • 2011-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多