【问题标题】:Allocate Dates to Week IDs将日期分配给周 ID
【发布时间】:2013-12-16 10:02:14
【问题描述】:

我有一个在没有系统时钟的机器上运行的 java 程序。我想管理一些与日期相关的数据:我将它们保存在 DAY 类中,其中包含 DAY-ID ("YYYYMMDD") 和变量 YEAR、MONTH、DAY... 我想将这些 DAY 总结为 WEEK。这些 WEEK 也需要一个 WEEK-ID,例如“YYYY”+数字 .. 或第一天(星期一)的 DAY-ID。

如果我想取 28.-31,我如何确定哪些天进入哪个周而不用硬编码一整年的日期。日月计入? 进一步:如何确定哪个工作日(周一至周五)是 DAY?

是否有日历类或类似的东西,我可以在哪里获取()这些信息?

【问题讨论】:

  • 你可以使用joda
  • 你的周数从什么时候开始。第一个星期一是第 1 周还是第 2 周?一周是从周六、周日还是周一开始的?
  • 是的,有一个Calendar 类,您可以在其中get() 这些信息。只是谷歌它;)

标签: java date datetime calendar


【解决方案1】:

正如@sp00m 所说:您可以使用Calendar

Calendar cal = Calendar.getInstance();
cal.set(Calendar.WEEK_OF_YEAR, 4);
int week = cal.get(Calendar.WEEK_OF_YEAR);

你可以从日历中得到很多参数

【讨论】:

    【解决方案2】:

    有一个国际标准来处理您正在尝试做的事情:ISO 8601。该标准定义了一年中的每一周、一周中的每一天(星期一 = 1、星期日 = 7)、如何处理与年末重叠的周、一年中的每一天 (2013-352) 等等。

    Joda-Time 库旨在替换麻烦的 java.util.Date/Calendar 类。 Joda-Time 默认遵循 ISO 8601。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-12
      • 1970-01-01
      • 2012-09-06
      • 1970-01-01
      • 2023-04-01
      • 2015-06-15
      相关资源
      最近更新 更多