Dateクラスのdeprecationを修正する|Java

随分前からですが、Dateクラスのメソッドが非推奨になっていました。
ただ、仕事などで過去に作ったプログラムでは未だ残ってたりするんですね。もっと酷いのはdeprecationを気にしない人のプログラムとか・・・
以下は、Dateクラスから推奨されるCalendarクラスを使用するための覚え書き(サンプル)になります。

年を文字列で取得

非推奨

// 2000/05/05
java.util.Date birthday = new java.util.Date(100, 5, 5); // deprecation
int year = birthday.getYear() + 1900; // deprecation
String yyyy = Integer.toString(year);

修正版

// Dateクラスの生成にはCalendarクラスを使う.
java.util.Calendar calendar = java.util.Calendar.getInstance();
calendar.set(2000, 5, 5);
java.util.Date birthday = calendar.getTime();
// フォーマット出力にはSimpleDateFormatクラスを使う.
String yyyy = new java.text.SimpleDateFormat("yyyy").format(birthday);

Dateクラスのフィールドを取得

何かしらの理由でプログラムが受け取るのがDateクラスの場合。Calendarクラスに設定してから取得します。

java.util.Date birthday = new java.util.Date(100, 5, 5);

java.util.Calendar calendar = java.util.Calendar.getInstance();
calendar.setTime(birthday);
int year = calendar.get(java.util.Calendar.YEAR);
このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

コメント

メールアドレスが公開されることはありません。 が付いている欄は必須項目です