文字列形式の日付を現在の日付と比較しようとしています。これは私がやった方法です(テストしていませんが、動作するはずです)が、非推奨のメソッドを使用しています。代替案について何か良い提案はありますか?ありがとう。
PS私はJavaで日付のことをするのが本当に嫌いです。同じことをする方法はたくさんあるので、どれが正しいかわからないので、ここで私の質問です。
String valid_until = "1/1/1990";
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("dd/mm/yyyy");
Date strDate = sdf.parse(valid_until);
int year = strDate.getYear(); // this is deprecated
int month = strDate.getMonth() // this is deprecated
int day = strDate.getDay(); // this is deprecated
Calendar validDate = Calendar.getInstance();
validDate.set(year, month, day);
Calendar currentDate = Calendar.getInstance();
if (currentDate.after(validDate)) {
catalog_outdated = 1;
}
Calendar
、SimpleDateFormat
、Date
または他の長い時代遅れのJavaの日付と時刻クラスのいずれか。代わりjava.time
に、最新のJava日時APIを使用してください。はい、Androidで使用できます。古いAndroidについては、「AndroidプロジェクトでThreeTenABPを使用する方法」を参照してください。