【发布时间】:2020-01-29 00:39:46
【问题描述】:
我想在 java 中存储带有可选月份和日期的日期。
我知道java.time.LocalYear 只存储一年。
我应该创建自己的自定义类来保存带有可选月份和日期的日期,还是有任何自定义库来解决这个问题。
public class Date {
private LocalYear year;
private int month;
private int day;
public Date(LocalYear year) {
this.year = year;
}
public Date(LocalYear year, int month) {
this.year = year;
this.month = month;
}
public Date(LocalYear year, int month, iny day) {
this.year = year;
this.month = month;
this.day = day;
}
}
【问题讨论】:
-
java.time.Year、java.time.YearMonth或java.time.MonthDay是否满足您的要求? -
你的用例是什么?一般来说,我不建议使用单个类来表示多个时间概念。
java.time必须将其全部拆分是有原因的。 -
@Slaw 你的建议听起来不错,我可以将所有:java.time.Year、java.time.YearMonth 或 java.time.MonthDay 包装在一个类中,这样可以解决问题。跨度>
-
请注意,已经有一个类封装了所有这些值(年、月和日):
java.time.LocalDate。 -
解释您的业务问题,因为可能有比设计部分日期类更好的解决方案。