public class DateUtil extends Object
コンストラクタと説明 |
---|
DateUtil() |
修飾子とタイプ | メソッドと説明 |
---|---|
static String |
dateToWarekiString(String format,
Date date)
java.util.Dateインスタンスを和暦として指定のフォーマットに
変換する。
|
static Date |
getSystemTime()
システム時刻を取得する。
|
static String |
getWarekiGengoName(Date date)
指定された日付の和暦元号を取得する。
|
static String |
getWarekiGengoRoman(Date date)
指定された日付の和暦元号のローマ字表記(短縮形)を取得する。
|
static int |
getWarekiYear(Date date)
指定された日付の和暦年を取得する。
|
public static Date getSystemTime()
WebサーバとAPサーバを分離したりクラスタ構成にした場合は、マシンに よりシステム日付が異なる可能性がある。これを避けるため、システム日付 取得には必ずこのメソッドを利用し、必要に応じて特定マシンの日付を取得 するなどの措置がとれるようにしておく。
public static String dateToWarekiString(String format, Date date)
ApplicationResources.properties
で指定された日付フォーマットを用いて、西暦、和暦の変換を
行うことができる。
下記は、和暦の境界となる日付、和暦名、アルファベット頭文字の
設定例である。
ApplicationResources.properties による
和暦の設定例
wareki.gengo.0.name = 平成
wareki.gengo.0.roman = H
wareki.gengo.0.startDate = 1989/01/08
wareki.gengo.1.name = 昭和
wareki.gengo.1.roman = S
wareki.gengo.1.startDate = 1926/12/25
wareki.gengo.2.name = 大正
wareki.gengo.2.roman = T
wareki.gengo.2.startDate = 1912/07/30
wareki.gengo.3.name = 明治
wareki.gengo.3.roman = M
wareki.gengo.3.startDate = 1868/09/04
フォーマットは、java.text.SimpleDateFormat クラスの 時刻パターン文字列 として解釈されるが、以下のパターン文字の解釈が (デフォルトロケールの) SimpleDateFormat クラスと異なる。
記号 | SimpleDateFormat |
dateToWarekiString() |
---|---|---|
G | 紀元 例: AD |
和暦元号 例: (4個以上の連続したパターン文字) 明治、大正、昭和、平成 (3個以下の連続したパターン文字) M、T、S、H |
y | 年(西暦) 例: 2002 |
年(和暦) 例: 14 |
E | 曜日 例: Tuesday |
曜日(日本語表記) 例: (4個以上の連続したパターン文字) 月曜日、火曜日、水曜日 (3個以下の連続したパターン文字) 月、火、水 |
これらのうち、曜日(E)については SimpleDateFotmat のインスタンス作成時に、ロケールを "ja" に指定することで変換される。
和暦元号名、および和暦年については、getWarekiGengoName()、 getWarekiGengoRoman()、getWarekiYear() メソッドによって取得する。 これらのメソッドで参照する和暦の設定は、AplicationResources ファイルで 以下の書式で行う。
wareki.gengo.ID.name=元号名
wareki.gengo.ID.roman=元号のローマ字表記
wareki.gengo.ID.startDate=元号法施行日(西暦:yyyy/MM/dd形式)
IDは、上記の三つの設定を関連付けするためのものであり、任意の文字列を 指定できる。
format
- フォーマットdate
- 文字列に変換する時刻データpublic static String getWarekiGengoName(Date date)
和暦元号は、ApplicationResources ファイルで指定する。
date
- 日付public static String getWarekiGengoRoman(Date date)
和暦元号のローマ字表記は、ApplicationResourcesファイルで指定する。
date
- 日付public static int getWarekiYear(Date date)
date
- 日付Copyright © 2014. All Rights Reserved.