java.util.Date
を java.text.SimpleDateFormat
でフォーマットするときに yyyy
の様にすると紀元前でも符号は付きません。
Date date = new Date(Long.MIN_VALUE); SimpleDateFormat formatter = new SimpleDateFormat("yyyy"); String year = formatter.format(date); // 292269055
紀元前を負符号で表示したい場合は java.text.DateFormatSymbols
のインスタンスに setEras
メソッドを使用します。紀元の符号の表示は G
で指定します。
Date date = new Date(Long.MIN_VALUE); DateFormatSymbols symbols = new DateFormatSymbols(); symbols.setEras(new String[] { "-", "" }); DateFormat formatter = new SimpleDateFormat("Gyyyy", symbols); String year = formatter.format(date); // -292269055