为什么 Java 使如何从 Date 对象中获取月份中的哪一天变得不明显?
.getDay()
已弃用,建议使用Calendar.get(Calendar.MONTH)
这对我来说毫无意义,我很好奇这种弃用背后的理由是什么。
我有一个 Date 对象,我只想要这一天。这是有史以来最自然的事情,我无法调用它。这种设计是错误的,因此我的代码没有按应有的方式工作:
private String getIngivningsDag() {
return ""+ingivningsDatum.getDate();
}
private String getIngivningsMonth() {
return ""+ingivningsDatum.getmonth();
}
private String getIngivningsYear() {
return ""+ingivningsDatum.getYear();
}
更新
这是“解决方案”:
public String getIngivningsDag() {
Calendar cal = Calendar.getInstance();
cal.setTime(ingivningsDatum);
return cal.get(Calendar.DAY_OF_WEEK_IN_MONTH)+"";
}
没有 Java 的设计错误并使用方法参数而不是奇怪的 Class 方法和工厂,它应该看起来简单而良好:
public String getIngivningsDag() {
return ingivningsDatum.getDay(Calendar.GREGORIAN, "SE");
}