jp.terasoluna.fw.util
クラス DateUtil

java.lang.Object
  上位を拡張 jp.terasoluna.fw.util.DateUtil

public class DateUtil
extends java.lang.Object

日付・時刻・カレンダー関連のユーティリティクラス。


フィールドの概要
private static java.util.Date[] GENGO_BEGIN_DATES
          和暦の各元号が施行された西暦日付のリスト。
private static int[] GENGO_BEGIN_YEARS
          和暦の各元号が施行された西暦年のリスト。
private static java.lang.String GENGO_KEY
          ApplicationResources ファイルにおいて和暦関連の設定を 取得する際のキーのプリフィックス。
private static java.util.Map<java.util.Date,java.lang.String> GENGO_NAME
          元号施行日から元号名へのマップ。
private static java.util.Map<java.util.Date,java.lang.String> GENGO_ROMAN
          元号施行日から元号のローマ字表記(短縮形)へのマップ。
private static Log log
          ログクラス
 
コンストラクタの概要
DateUtil()
           
 
メソッドの概要
static java.lang.String dateToWarekiString(java.lang.String format, java.util.Date date)
          java.util.Dateインスタンスを和暦として指定のフォーマットに 変換する。
static java.util.Date getSystemTime()
          システム時刻を取得する。
static java.lang.String getWarekiGengoName(java.util.Date date)
          指定された日付の和暦元号を取得する。
static java.lang.String getWarekiGengoRoman(java.util.Date date)
          指定された日付の和暦元号のローマ字表記(短縮形)を取得する。
static int getWarekiYear(java.util.Date date)
          指定された日付の和暦年を取得する。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

log

private static Log log
ログクラス


GENGO_KEY

private static final java.lang.String GENGO_KEY
ApplicationResources ファイルにおいて和暦関連の設定を 取得する際のキーのプリフィックス。

関連項目:
定数フィールド値

GENGO_NAME

private static final java.util.Map<java.util.Date,java.lang.String> GENGO_NAME
元号施行日から元号名へのマップ。


GENGO_ROMAN

private static final java.util.Map<java.util.Date,java.lang.String> GENGO_ROMAN
元号施行日から元号のローマ字表記(短縮形)へのマップ。


GENGO_BEGIN_DATES

private static final java.util.Date[] GENGO_BEGIN_DATES
和暦の各元号が施行された西暦日付のリスト。リストの先頭から、 古い順に並べられる。


GENGO_BEGIN_YEARS

private static final int[] GENGO_BEGIN_YEARS
和暦の各元号が施行された西暦年のリスト。リストの先頭から、 古い順に並べられる。

コンストラクタの詳細

DateUtil

public DateUtil()
メソッドの詳細

getSystemTime

public static java.util.Date getSystemTime()
システム時刻を取得する。

WebサーバとAPサーバを分離したりクラスタ構成にした場合は、マシンに よりシステム日付が異なる可能性がある。これを避けるため、システム日付 取得には必ずこのメソッドを利用し、必要に応じて特定マシンの日付を取得 するなどの措置がとれるようにしておく。

戻り値:
システム時刻

dateToWarekiString

public static java.lang.String dateToWarekiString(java.lang.String format,
                                                  java.util.Date date)
java.util.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 - 文字列に変換する時刻データ
戻り値:
和暦としてフォーマットされた文字列

getWarekiGengoName

public static java.lang.String getWarekiGengoName(java.util.Date date)
指定された日付の和暦元号を取得する。

和暦元号は、ApplicationResources ファイルで指定する。

パラメータ:
date - 日付
戻り値:
和暦元号

getWarekiGengoRoman

public static java.lang.String getWarekiGengoRoman(java.util.Date date)
指定された日付の和暦元号のローマ字表記(短縮形)を取得する。

和暦元号のローマ字表記は、ApplicationResourcesファイルで指定する。

パラメータ:
date - 日付
戻り値:
和暦元号のローマ字表記

getWarekiYear

public static int getWarekiYear(java.util.Date date)
指定された日付の和暦年を取得する。

パラメータ:
date - 日付
戻り値:
和暦年