gpt4 book ai didi

Java 表示一个月中日期的最佳方式/推荐数据结构,例如 1 月 1 日

转载 作者:行者123 更新时间:2023-12-02 07:47:41 25 4
gpt4 key购买 nike

经常有一个任务来代表一个月,例如,

January

,或一个月中的日期,例如,

01 January

,以通用方式,不指定年份。

警告:捕获的数据(例如,用户选择或其他类型的输入)通常需要存储在 DB - SLQ 或 NoSQ 中。随后将其用于报告,例如使用日期范围聚合。

对于哪种 Java 数据类型最适合上述场景,是否有任何共识/建议?

我看到以下 3 个选项:

  1. 使用“第 0”年之内的 Java 日期,例如 1970 年 1 月 1 日,然后使用日期操作仅提取必填字段(DAY、月),然后去掉所有其余的。 Joda 或 Java8 等库来这里派上用场。保存到数据库在这里很简单,尽管程序开销可能相当高。
  2. 使用设计的数据类型(例如 ENUM)列出所有月份,或使用一个月的数值并提供映射,然后进一步解析和鞋拔以捕获一个月中的一天。映射到数据库字段并不太困难。
  3. 使用字符串,例如“1 月 1 日”。看起来很简单。

第 2 和第 3 项的编程强度可能较低,但另一个缺点是,这样的日期在报告中使用时可能会很笨拙,因为按时间段进行聚合并不简单。

对上述内容有什么建议/想法吗?

编辑:

看起来选项 #1 是最好的(最灵活、阻力最小、最容易持久、最适合后续报告)。新的 Java 库使数据操作和字段提取变得相对简单。

最佳答案

java.time.MonthDay 提供了一个现成的类,因此您无需创建自己的类。它还可以与其他 java.time 功能一起使用,因此这可能是您最好的选择。坚持下去应该也很容易。

MonthDay birthday = MonthDay.of(Month.JANUARY, 11);

关于Java 表示一个月中日期的最佳方式/推荐数据结构,例如 1 月 1 日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44044741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com