DATEを使うなら、Calenderクラスを使えと言われるかもしれませんが、
古いソースなどを修正している時など、DATEオブジェクトから年月日を
抽出したいなぁ。と思った方はこのサンプルが役にたつかもしれません。
なんでこんな面倒なサンプルコードなんだ!と思われた方。
そうですよね。
DATE型のgetYear, getMonth, getDayなど、非推奨メソッドになっているのですね。
なので、わざわざSimpleDateFormatを使い、文字列として取得しています。
GetYYMMdd.java (UTF-8 LF)
import java.util.Date; import java.text.SimpleDateFormat; class GetYYMMdd { public static void main(String args[]) { Date d = new Date(); // now date System.out.println("now : " + d); // year SimpleDateFormat ysdf = new SimpleDateFormat("yyyy"); String datey = ysdf.format(d); System.out.println("year : " + datey); // month SimpleDateFormat msdf = new SimpleDateFormat("MM"); String datem = msdf.format(d); System.out.println("month : " + datem); // day SimpleDateFormat dsdf = new SimpleDateFormat("dd"); String dated = dsdf.format(d); System.out.println("day : " + dated); // year month day SimpleDateFormat ymdsdf = new SimpleDateFormat("yyyyMMdd"); String dateymd = ymdsdf.format(d); System.out.println("year month day: " + dateymd); } }
コンパイルし実行したときの出力です。
$ javac GetYYMMdd.java $ java GetYYMMdd now : Thu Jun 15 19:20:36 JST 2017 year : 2017 month : 06 day : 15 year month day: 20170615
文字列として、年・月・日が取得できているのが確認できます。
以上、DATEオブジェクトから年・月・日を抽出するサンプルでした。