Java に Date オブジェクトがあります。日付の年が 17 に設定されることがあります。SimpleDateFormat を使用して出力しようとすると、0017 として出力されます。私の年はすべて 2000 年代になります。年が特定の値を下回っているかどうかを確認し、そうであれば 2000 を追加する方法はありますか? それを行ったら、新しい年を使用するために Date オブジェクトをどのように再作成しますか? Date オブジェクトのすべてが廃止されたようです。
1299 次
4 に答える
3
私はカレンダーを使用します:
Date myDate = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(myDate);
int year = cal.get(Calendar.YEAR);
if(year < 2000)
cal.add(Calendar.YEAR, 2000); // add two thousand years
于 2012-07-19T15:42:52.720 に答える
2
Calendar または Joda Time (より良い選択) を使用する場合は、年 (またはその他のフィールド) を取得および設定できます。
そもそもあなたの年は 17 歳であってはなりません。後でパッチを当てるのではなく、ソースで問題を修正しようとします。
于 2012-07-19T15:40:08.073 に答える
1
まず、Date.getYear は CurrentYear - 2000 ではなく 1900 を返します。これを毎回インクリメントする必要があるようです。
ただし、非推奨であるため、可能であれば最初から使用しないでください。API では、代わりにカレンダー クラスを使用することをお勧めします: http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Calendar.html
于 2012-07-19T15:43:51.047 に答える