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 の設計エラーがなく、奇妙なクラス メソッドやファクトリの代わりにメソッド パラメーターを使用することで、シンプルで見栄えがよくなる方法を次に示します。
public String getIngivningsDag() {
return ingivningsDatum.getDay(Calendar.GREGORIAN, "SE");
}