org.opengion.fukurou.util
クラス HybsDateUtil
java.lang.Object
org.opengion.fukurou.util.HybsDateUtil
public final class HybsDateUtil
- extends java.lang.Object
HybsDateUtil.java は、共通的に使用される Date,Calender関連メソッドを集約した、staticメソッドのみで構成されるクラスです。
- 変更履歴:
5.5.7.2 (2012/10/09) 新規作成 |
- バージョン
- 5.5
- 作成者
- Kazuhiko Hasegawa
- 導入されたバージョン:
- JDK7.0,
メソッドの概要 |
static java.util.Calendar |
getCalendar(java.lang.String value)
指定の引数の日付け文字列より、カレンダオブジェクトを作成します。 |
static java.lang.String |
getDate()
現在日付、時刻を指定のフォーマットで文字列に変換して返します。 |
static java.lang.String |
getDate(long time,
java.lang.String form)
指定時刻を指定のフォーマットで文字列に変換して返します。 |
static java.lang.String |
getDate(java.lang.String form)
現在時刻を指定のフォーマットで文字列に変換して返します。 |
static java.lang.String |
getDateFormat(java.lang.String key,
java.lang.String prmA,
java.lang.String prmB)
日付関係の情報を簡易的に処理します。 |
static java.lang.String |
getDatePlus(java.lang.String baseDate,
int plus)
指定の引数の日付け文字列(YYYYMMDD)より、日付を加算して返します。 |
static java.lang.String |
getMonthPlus(java.lang.String baseDate,
int plus)
現在の月に、指定の月数をプラスした日付文字列を返します。 |
static boolean |
isStrict(java.lang.String value)
日付文字列の厳密な整合性チェックを行います。 |
static java.lang.String |
parseDate(java.lang.String value,
int size)
日付文字列の桁数の整合性を取ります。 |
static java.lang.String |
parseNumber(java.lang.String value)
指定の文字列から、数字だけの文字列を作成します。 |
クラス java.lang.Object から継承されたメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
getDate
public static final java.lang.String getDate()
- 現在日付、時刻を指定のフォーマットで文字列に変換して返します。
出力フォーマットは、"yyyy/MM/dd HH:mm:ss" 固定です。
- 戻り値:
- 現在日付、時刻 ( 例 2012/09/05 18:10:24 )
- 変更履歴:
5.5.7.2 (2012/10/09) 新規作成 |
getDate
public static final java.lang.String getDate(java.lang.String form)
- 現在時刻を指定のフォーマットで文字列に変換して返します。
フォーマットの指定方法は、java.text.SimpleDateFormat の指定方法と同一です。
変換時のロケーションは、Locale.JAPAN です。
現在時刻は、new Date() で求めます。
- パラメータ:
form
- フォーム文字列 ( 例 "yyyy/MM/dd HH:mm:ss.SSS" )
- 戻り値:
- 現在日付、時刻
- 関連項目:
SimpleDateFormat
- 変更履歴:
5.5.7.2 (2012/10/09) 新規作成 |
getDate
public static final java.lang.String getDate(long time,
java.lang.String form)
- 指定時刻を指定のフォーマットで文字列に変換して返します。
フォーマットの指定方法は、java.text.SimpleDateFormat の指定方法と同一です。
変換時のロケーションは、Locale.JAPAN です。
指定時刻は、new Date( time ) で求めます。
- パラメータ:
time
- 指定のカレントタイムのロング値form
- フォーム文字列 ( 例 "yyyy/MM/dd HH:mm:ss.SSS" )
- 戻り値:
- 現在日付、時刻( 例 2001/04/17 15:48:22 )
- 変更履歴:
5.5.7.2 (2012/10/09) 新規作成 |
parseNumber
public static final java.lang.String parseNumber(java.lang.String value)
- 指定の文字列から、数字だけの文字列を作成します。
これは、'/' , '-' , ' ' , ':' などの数字以外の文字を含むフォーマットされた
日付文字列を、日付データだけに変換する場合に利用することを想定しています。
よって、マイナス記号や、小数点、コンマなども削除されます。
このメソッドでは、日付としての整合性や桁チェックは行いません。
引数が、null の場合は、ゼロ文字列に、変換します。
- パラメータ:
value
- 任意の文字列(例:2001/04/17 15:48:22)
- 戻り値:
- 数字だけで構成される文字列(例:20010417154822)(nullはゼロ文字列を返します)
- 変更履歴:
5.5.7.2 (2012/10/09) 新規作成 |
parseDate
public static final java.lang.String parseDate(java.lang.String value,
int size)
- 日付文字列の桁数の整合性を取ります。
これは、内部で、parseNumber(String) 処理により、不要なフォーマット記号を削除します。
ここでは、基本的には、6文字(YYYYMM)、8文字(YYYYMMDD)、14文字(YYYYMMDDHHMMSS)
の日付文字列を作成することを想定していますが、それ以外の桁数でも下記のルールに従って
処理されます。
引数が、null ⇒ 桁数に無関係に、空文字列を返す。
引数の桁数を同じ ⇒ そのまま返す。
引数の桁数より大きい ⇒ 余をカットして、引数の長さにそろえる。
引数の桁数に足りない ⇒ "20000101000000" の文字列の部分文字列を結合させて、引数の長さにそろえる。
ただし、引数の最大長は、14ケタに制限しています。
このメソッドでは、日付として成立しているかどうか(99999999など)は判定していません。
- パラメータ:
value
- 任意の日付け文字列size
- 変換したい桁数
- 戻り値:
- 数字だけで構成される文字列(例:20010417154822)(nullはゼロ文字列を返します)
- 変更履歴:
5.5.7.2 (2012/10/09) 新規作成 |
isStrict
public static final boolean isStrict(java.lang.String value)
- 日付文字列の厳密な整合性チェックを行います。
ここで指定できるのは、8文字(YYYYMMDD)、14文字(YYYYMMDDHHMMSS)のどちらかの
数字だけの日付文字列であり、それが、日付として正しいかどうかのチェックを行います。
正しければ、true を、間違っていれば、false を返します。
ここでは、20120230(2月30日)などの日付や、20120101235960 なども false になります。
引数が、null および、空文字列の場合も、false を返しますので、避けたい場合は、事前に
判定しておいてください。
内部処理としては、DateFormat で、setLenient( false ) を設定することで、
日付/時刻解析を厳密に解析するにして、ParseException が発生しないかどうか判定しています。
- パラメータ:
value
- 数字だけで構成される日付け文字列
- 戻り値:
- true:日付として正しい場合/false:日付として間違っている場合
- 変更履歴:
5.5.7.2 (2012/10/09) 新規作成 |
getDateFormat
public static final java.lang.String getDateFormat(java.lang.String key,
java.lang.String prmA,
java.lang.String prmB)
- 日付関係の情報を簡易的に処理します。
第一引数 "XXXX" は、日付処理を行うフォーマットの予約語になっています。
・YMD :8文字の日付データ(yyyyMMdd)を扱います。
・Y2MD :6文字の日付データ(yyMMdd)を扱います。
・YM :6文字の日付データ(yyyyMM)を扱います。
・MD :4文字の日付データ(MMdd)を扱います。(5.5.5.2 追加)
・HMS :6文字の時刻データ(HHmmss)を扱います。
・YMDHMS :14文字の日付データ(yyyyMMddHHmmss)を扱います。
・EEE :曜日をデフォルトロケール(EEE)で表示します。
F付きは、フォーマットされた日付を返します。
・YMDF :10文字の日付表現(yyyy/MM/dd)を扱います。
・Y2MDF :8文字の日付表現(yy/MM/dd)を扱います。
・YMF :7文字の日付表現(yyyy/MM)を扱います。
・HMSF :8文字の時刻表現(HH:mm:ss)を扱います。
・YMDHMSF:19文字の日付表現(yyyy/MM/dd HH:mm:ss)を扱います。
・MDF :5文字の月日表現(MM/dd)を扱います。
・MDEF :5文字+曜日の月日表現(MM/dd(EEE))を扱います。
・MD2F :和暦の月日表現(MM月dd日)を扱います。(5.5.5.2 追加)
・GYMDF :和暦の年月日表現(GGGGyyyy年MM月dd日)を扱います。
・G2YMDF :和暦の日付表現(Gyyyy/MM/dd)を扱います。
・GYMF :和暦の年月表現(GGGGyyyy年MM月)を扱います。
・GYF :和暦の年表現(GGGGyyyy)を扱います。
なお、上記以外のフォーマットを指定する場合は、XXXX部分に直接記述できます。(5.5.5.2 追加)
ただし、基本的には、自由フォーマットは、エラーチェックがない為、使わないでください。
第二引数 AA は、基準となる日付を、YYYYMMDD形式で指定します。nullの場合は、現在時刻を使用します。
指定できる日付は、YYYYMMDD形式を推奨しますが、8文字でない場合は、'-' や '/' を削除の上、
前半8文字のみ使用します。たとえば、"2012/09/05 16:52:36" のようなフォーマットデータが渡された
場合、"20120905 16:52:36" に変換後、前半8文字の "20120905" が使われます。
よって、フォーマットされている場合でも処理をおこないますが、月、日は、頭ゼロ埋めの2文字で
渡してください。
第三引数 BB は、日付についての加減算処理を行うためのコマンドを指定します。
nullの場合は、なにも加減算処理を行いません。
・SD :当月の最初の日付にセットします。(当月1日)
・ED :当月の最後の日付にセットします。(当月月末)
・SW :日付処理の週初め(月曜日)にセットします。日付は当日より前に移動します。
・EW :日付処理の週末(日曜日)にセットします。日付は当日より後ろに移動します。
・H1 ~ HXXX :時を指定の分だけ進めます。H1なら1時間後、H24 なら24時間後(5.5.5.6 (2012/08/31) 追加)
・D1 ~ DXXX :日を指定の分だけ進めます。D1なら翌日、D200 なら200日後
・M1 ~ MXXX :月を指定の分だけ進めます。M1なら翌月、M6 なら半年後
・BSD :先月の最初の日付にセットします。(先月1日)(5.5.5.2 追加)
・BED :先月の最後の日付にセットします。(先月月末)(5.5.5.2 追加)
・ASD :翌月の最初の日付にセットします。(翌月1日)(5.5.5.2 追加)
・AED :翌月の最後の日付にセットします。(翌月月末)(5.5.5.2 追加)
- パラメータ:
key
- フォーマットの予約語prmA
- 基準となる日付(nullの場合は、処理時刻)prmB
- 処理コマンド
- 戻り値:
- メッセージ情報
- 変更履歴:
5.5.7.2 (2012/10/09) 新規作成 |
getCalendar
public static final java.util.Calendar getCalendar(java.lang.String value)
- 指定の引数の日付け文字列より、カレンダオブジェクトを作成します。
引数は、数字以外の文字を削除した状態に変換後、処理に回します。
不要な文字を削除した状態で、8文字以上になるように指定してください。
例外的に、6文字の場合は、YYYYMM01 とみなして、"01" 文字列を付与します。
引数に null を指定すると、現在時刻のカレンダを返します。
それ以外のデータで、8ケタ以下の場合は、RuntimeException が発生します。
8ケタ以上14ケタ未満の場合は、8ケタ分を、年月日に分離したカレンダ
オブジェクトを作成します。14ケタ以上で初めて、時分秒を含むカレンダ
を作成します。
- パラメータ:
value
- 日付け文字列
- 戻り値:
- カレンダオブジェクト(引数がnullの場合は、現在時刻)
- 変更履歴:
5.5.7.2 (2012/10/09) 新規作成 |
getDatePlus
public static final java.lang.String getDatePlus(java.lang.String baseDate,
int plus)
- 指定の引数の日付け文字列(YYYYMMDD)より、日付を加算して返します。
マイナスを与えると、減算します。
日付以上の精度の文字列を渡しても、日付のみの計算となります。
結果は、引数の日付フォーマットとは全く別で、YYYYMMDD の8文字形式になります。
引数に null を渡すと、実行時の日付をベースとして処理します。
- パラメータ:
baseDate
- 日付け文字列(YYYYMMDD)plus
- 加算する日数(過去にするにはマイナス値を指定する)
- 戻り値:
- 結果の日付(YYYYMMDD)
- 変更履歴:
5.5.7.2 (2012/10/09) 新規作成 |
getMonthPlus
public static final java.lang.String getMonthPlus(java.lang.String baseDate,
int plus)
- 現在の月に、指定の月数をプラスした日付文字列を返します。
日付文字列のフォーマットは、"yyyyMM" です。
指定する月数にマイナスを指定すると、減算できます。
- パラメータ:
baseDate
- 日付け文字列(YYYYMM)plus
- 加算する月数(過去にするにはマイナス値を指定する)
- 戻り値:
- 指定の月数をプラスした日付文字列(YYYYMM)
- 変更履歴:
5.5.7.2 (2012/10/09) 新規作成 |
Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.