クラス HybsDateUtil
java.lang.Object
org.opengion.fukurou.util.HybsDateUtil
HybsDateUtil.java は、共通的に使用される Date,Calender関連メソッドを集約した、staticメソッドのみで構成されるクラスです。
- 変更履歴:
- 5.5.7.2 (2012/10/09) 新規作成
- 機能分類
- ユーティリティ
- 導入されたバージョン:
- JDK7.0,
-
メソッドの概要
修飾子とタイプメソッド説明static void
calendarCalc
(Calendar now, String prmB) 開始前設定値、または 終了後設定値の文字列から、オプション文字列を合成します。static void
calendarCalc
(Calendar now, String prmB, int intC) 開始前設定値、または 終了後設定値の文字列から、オプション文字列を合成します。static String
calendarDiff
(Calendar timeA, String prmB, int intC) 日付の差分を求めます。static Calendar
getCalendar
(String value) 指定の引数の日付け文字列より、カレンダオブジェクトを作成します。static String
getDateFormat
(String value) 日付関係の情報を簡易的に処理します。static String
getDateFormat
(String key, String prmA) 日付関係の情報を簡易的に処理します。static String
getDateFormat
(String key, String prmA, String prmB, int intC) 日付関係の情報を簡易的に処理します。static String
getDatePlus
(String baseDate, int plus) 指定の引数の日付け文字列(yyyyMMdd)より、日付を加算して返します。static String
getDatePlus
(String baseDate, String plus, int defTani, String format) 指定の引数の日付け文字列(yyyyMMdd、yyyyMMddHHmmss)に、日付を加算して返します。static String
getMonthPlus
(String baseDate, int plus) 現在の月に、指定の月数をプラスした日付文字列を返します。static boolean
日付文字列の厳密な整合性チェックを行います。static String
日付文字列の桁数の整合性を取ります。static String
日付文字列の桁数の整合性を取ります。static String
parseNumber
(String value) 指定の文字列から、以下の文字を削除した文字列を返します。static String
parseTimestamp
(String value) 指定の文字列から、yyyy-mm-dd hh:mm:ss 形式の文字列を作成します。static String[]
指定の年月文字列のFrom-Toを、文字列の配列で返します。static String
指定の日付文字列を指定の形式の文字列に変換します。
-
メソッドの詳細
-
parseNumber
指定の文字列から、以下の文字を削除した文字列を返します。 '/' , '-' , ' ' , ':' の数字以外の文字を含むフォーマットされた 日付文字列を、日付データだけに変換する場合に利用することを想定しています。 よって、マイナス記号や、小数点、コンマなども削除されます。 このメソッドでは、日付としての整合性や桁チェックは行いませんが、 桁数は、6桁、8桁、14桁のどれかに、合わせます。 「yyyy/MM/dd HH:mm:ss」 形式を基準としますが、「yyyy/M」「yyyy/M/d」「yy/M/d」「M/d」 「HH:mm:ss」「H:m」形式にも、対応します。 "/" が、"-" に変更されているケースも対応可能ですが、月/年 形式や、英語、日本語の 月表示には未対応です。 引数が、null の場合は、ゼロ文字列に、変換します。 ※ 6.0.2.5 (2014/10/31) 桁数チェックだけは行います。 桁数は、6桁、8桁、14桁のどれかに、合わせます。- パラメータ:
value
- 任意の文字列(例:2001/04/17 15:48:22)- 戻り値:
- 数字だけで構成される文字列(例:20010417154822)(nullはゼロ文字列を返します)
- 変更履歴:
- 5.5.7.2 (2012/10/09) 新規作成, 5.5.8.3 (2012/11/17) 数字のみ返す仕様だったが、対象以外の文字入力はそのまま返すよう変更, 6.0.2.5 (2014/10/31) 簡易的な桁数チェックだけは行います。, 6.2.3.0 (2015/05/01) 内部処理を大幅に変更します。
- このメソッドは、nullを返しません
-
parseTimestamp
指定の文字列から、yyyy-mm-dd hh:mm:ss 形式の文字列を作成します。 これは、java.sql.Timestamp オブジェクトを文字列から作成するに当たり、 Timestamp の文字列形式にしなければならないためです。 桁数は、8桁 または、14桁以外の場合は、変換エラーとします。- パラメータ:
value
- 任意の文字列(例:20010417 or 20010417154822)- 戻り値:
- Timestampの文字列形式(例:2001-04-17 00:00:00 or 2001-04-17 15:48:22)
- 変更履歴:
- 5.5.8.5 (2012/11/27) 新規作成
-
parseDate
日付文字列の桁数の整合性を取ります。 これは、内部で、parseNumber(String) 処理により、不要なフォーマット記号を削除します。 ここでは、基本的には、6文字(yyyyMM)、8文字(yyyyMMdd)、14文字(yyyyMMddHHmmss) の日付文字列を作成することを想定していますが、指定の桁数以外は、エラーになります。 引数が、null ⇒ 桁数に無関係に、空文字列を返す。 引数の桁数が一致 ⇒ その値を返す。 引数の桁数が不一致 ⇒ エラー ただし、引数の最大長は、14ケタに制限しています。 このメソッドでは、日付として成立しているかどうか(99999999など)は判定していません。- パラメータ:
value
- 任意の日付け文字列size
- 変換したい桁数- 戻り値:
- 数字だけで構成される文字列(例:20010417154822)(nullはゼロ文字列を返します)
- 変更履歴:
- 5.6.6.0 (2013/07/05) メソッドの内容を移す。
- このメソッドは、nullを返しません
-
parseDate
日付文字列の桁数の整合性を取ります。 これは、内部で、parseNumber(String) 処理により、不要なフォーマット記号を削除します。 ここでは、基本的には、6文字(yyyyMM)、8文字(yyyyMMdd)、14文字(yyyyMMddHHmmss) の日付文字列を作成することを想定していますが、それ以外の桁数でも下記のルールに従って 処理されます。 引数が、null ⇒ 桁数に無関係に、空文字列を返す。 引数の桁数が範囲内 ⇒ 以下の処理を実行する。 引数の桁数を同じ ⇒ そのまま返す。 引数の桁数より大きい ⇒ 余をカットして、引数の最大長にそろえる。 引数の桁数に足りない ⇒ "20000101000000" の文字列の部分文字列を結合させて、引数の最大長にそろえる。 ただし、引数の最大長は、14ケタに制限しています。 このメソッドでは、日付として成立しているかどうか(99999999など)は判定していません。- パラメータ:
value
- 任意の日付け文字列minSize
- 変換したい桁数の最小値maxSize
- 変換したい桁数の最大値- 戻り値:
- 数字だけで構成される文字列(例:20010417154822)(nullはゼロ文字列を返します)
- 変更履歴:
- 5.5.7.2 (2012/10/09) 新規作成, 5.6.1.1 (2013/02/08) 桁数チェック導入。6桁以下だとエラーにする。, 5.6.6.0 (2013/07/05) 桁数チェックの最小-最大指定, 6.2.3.0 (2015/05/01) len == maxSize のとき、パース文字列ではなく、元の値を返していた。
- このメソッドは、nullを返しません
-
isStrict
日付文字列の厳密な整合性チェックを行います。 ここで指定できるのは、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
日付関係の情報を簡易的に処理します。 引数に与えるのは、{@DATE.XXXX} の XXXX 文字列になります。 この "XXXX" 文字列は、"key prmA prmB prmC" 形式を取ることができます。 各文字列をスペースで分割して、先頭から変数に割り当てます。 また、prmA の日付文字判定と、数値変換と、prmC の数値変換も行います。 ただし、リクエスト変数の @ 文字列変換は、出来ません。- パラメータ:
value
- 日付引数のパラメータ- 戻り値:
- メッセージ情報
- 関連項目:
- 変更履歴:
- 6.9.2.1 (2018/03/12) 新規追加
- このメソッドは、nullを返しません
-
getDateFormat
日付関係の情報を簡易的に処理します。 処理コマンドと、CC引数の加減算パラメータを使用しないバージョンです。- パラメータ:
key
- フォーマットの予約語prmA
- 基準となる日付(nullの場合は、処理時刻)- 戻り値:
- メッセージ情報
- 関連項目:
- 変更履歴:
- 6.9.2.1 (2018/03/12) メソッドの引数を簡素化
- このメソッドは、nullを返しません
-
getDateFormat
日付関係の情報を簡易的に処理します。 第一引数(key) "XXXX" は、日付処理を行うフォーマットの予約語になっています。 ・Y4 :4文字の年データ(yyyy)を扱います。 ・YMD :8文字の4-2-2年月日データ(yyyyMMdd)を扱います。 ・Y2MD :6文字の2-2-2年月日データ(yyMMdd)を扱います。 ・YM :6文字の4-2年月データ(yyyyMM)を扱います。 ・HMS :6文字の2-2-2時分秒データ(HHmmss)を扱います。 ・HM :4文字の2-2時分データ(HHmm)を扱います。6.7.4.1 (2017/02/17) ・YMDHMS :14文字の4-2-2-2-2-2年月日時分秒データ(yyyyMMddHHmmss)を扱います。 ・EEE :曜日をデフォルトロケールで表示します。 F付きは、フォーマットされた日付を返します。 ・YMDF :10文字の日付表現(yyyy/MM/dd)を扱います。 ・Y2MDF :8文字の日付表現(yy/MM/dd)を扱います。 ・YMF :7文字の日付表現(yyyy/MM)を扱います。 ・HMSF :8文字の時刻表現(HH:mm:ss)を扱います。 ・HMF :5文字の時刻表現(HH:mm)を扱います。6.7.4.1 (2017/02/17) ・YMDHMSF:19文字の日付表現(yyyy/MM/dd HH:mm:ss)を扱います。 ・MDF :5文字の月日表現(MM/dd)を扱います。 ・MDEF :5文字+曜日の月日表現(MM/dd(EEE))を扱います。 ・MDHMF :11文字の月日時分表現(MM/dd HH:mm)を扱います。 (7.0.0.1 (2018/10/09) 追加) ・MD2F :漢字の月日表現(MM月dd日)を扱います。(5.5.5.2 追加) ・HM2F :漢字の時分表現(HH時mm分)を扱います。(7.0.0.1 (2018/10/09) 追加) ・MDHM2F :漢字の月日時分表現(MM月dd日 HH時mm分)を扱います。(7.0.0.1 (2018/10/09) 追加) ・GYMDF :和暦の年月日表現(GGGGyyyy年MM月dd日)を扱います。 ・G2YMDF :和暦の日付表現(Gyyyy/MM/dd)を扱います。 ・GYMF :和暦の年月表現(GGGGyyyy年MM月)を扱います。 ・GYF :和暦の年表現(GGGGyyyy)を扱います。 ・DIFF :日付の差分を求めます。(7.0.1.1 (2018/10/22) 追加) AA - BB を求め、CCの数値で単位を指定します。 なお、上記以外のフォーマットを指定する場合は、XXXX部分に直接記述できます。(5.5.5.2 追加) ただし、基本的には、自由フォーマットは、エラーチェックがない為、使わないでください。 第二引数(prmA) AA は、基準となる日付を、yyyyMMdd形式で指定します。nullの場合は、現在時刻を使用します。 指定できる日付は、yyyyMMdd形式を推奨しますが、'/' , '-' , ' ' , ':' を削除して使います。 6桁の場合は、yyyyMM + 01 とし、8ケタの場合は、yyyyMMdd とし、14ケタ以上の場合は、前半14文字を yyyyMMddHHmmss として処理します。それ以外の桁数の場合は、エラーになります。 たとえば、"2012/09/05 16:52:36" のようなフォーマットデータの場合、'/' , '-' , ' ' , ':' を削除して "20120905165236" に変換後、日付オブジェクトに変換されます。 第三引数(prmB) BB は、日付についての加減算処理を行うためのコマンドを指定します。 nullの場合は、なにも加減算処理を行いません。 ・SY :当年の最初の日付にセットします。(当年1月1日)。CC引数は、-N:N年前、0:当年(=SY)、N:N年後 6.9.2.1 (2018/03/12) ・SD :当月の最初の日付にセットします。(当月1日)。CC引数は、-N:N月前、0:当月(=SD)、N:N月後、-1:BSD と同じ、1:ASD と同じ ・SW :日付処理の週初め(月曜日)にセットします。日付は当日より前に移動します。CC引数は、-N:N週前、0:今週(=SW)、N:N週後 ・SH :指定の最初の時にセットします。(分秒を0000にする)。CC引数は、時の倍数(4と指定すれば、4時間単位に前に戻る) 6.7.4.1 (2017/02/17) ・SM :指定の最初の分にセットします。(秒を00にする)。CC引数は、分の倍数(15と指定すれば、15分単位に前に戻る) 6.7.4.1 (2017/02/17) ・SS :指定の最初の秒にセットします。CC引数は、秒の倍数(15と指定すれば、15秒単位に前に戻る) 6.7.4.1 (2017/02/17) ・EY :当年の最後の日付にセットします。(当年年末)。CC引数は、-N:N年前、0:当年(=EY)、N:N年後 6.9.2.1 (2018/03/12) ・ED :当月の最後の日付にセットします。(当月月末)。CC引数は、-N:N月前、0:当月(=ED)、N:N月後、-1:BED と同じ、1:AED と同じ ・EW :日付処理の週末(日曜日)にセットします。日付は当日より後ろに移動します。CC引数は、-N:N週前、0:今週(=EW)、N:N週後 ・EH :指定の次の時にセットします。(分秒を0000にした次の時)。CC引数は、時の倍数(4と指定すれば、4時間単位に前に進む) 6.7.4.1 (2017/02/17) ・EM :指定の次の分にセットします。(秒を00にした次の分)。CC引数は、分の倍数(15と指定すれば、15分単位に前に進む) 6.7.4.1 (2017/02/17) ・ES :指定の次の秒にセットします。CC引数は、秒の倍数(15と指定すれば、15秒単位に前に進む) 6.7.4.1 (2017/02/17) ・M1 ~ MXXX :月を指定の分だけ進めます。M1なら翌月、M6 なら半年後 ・D1 ~ DXXX :日を指定の分だけ進めます。D1なら翌日、D200 なら200日後 ・H1 ~ HXXX :時を指定の分だけ進めます。H1なら1時間後、H24 なら24時間後(5.5.5.6 (2012/08/31) 追加) ・MI :分を指定の分だけ進めます。第四引数(intC) で、時間を指定します。(6.8.4.1 (2017/12/18) 追加) ・YMD :CC 引数のYMD表記の日付を加減算します。6.8.4.1 (2017/12/18) 追加 ・HM :CC 引数のHM表記の時刻を加減算します。6.8.4.1 (2017/12/18) 追加 ・NO :AA 引数がnullの場合、現在時刻ではなく空文字列にします。 7.0.1.3 (2018/11/12) 追加 ・(有閑)BSD :先月の最初の日付にセットします。(先月1日)(5.5.5.2 追加)。SD -1 と同等 ・(有閑)BED :先月の最後の日付にセットします。(先月月末)(5.5.5.2 追加)。ED -1 と同等 ・(有閑)ASD :翌月の最初の日付にセットします。(翌月1日)(5.5.5.2 追加)。SD 1 と同等 ・(有閑)AED :翌月の最後の日付にセットします。(翌月月末)(5.5.5.2 追加)。ED 1 と同等 7.0.1.1 (2018/10/22) DATE.DIFF の場合、BB 引数は、日付データになります。AA-BB の関係です。 CC 引数は、特別な処理で、BB 引数に対して、加算、減算のための数字を指定できます。(5.7.4.1 (2014/03/14) 追加) 従来は、BB 引数が、"H" , "D" , "M" の 1文字パラメータの場合のみ利用可能でした。 これは、"H15" と指定するのと、"H" "15" と指定するのと同じ意味になります。 異なるのは、CC 引数も、(@CC)指定で、リクエストパラメータが使用できます。 従来は、文字列として結合された状態でしか、BB 引数を渡せませんでしたが、この、CC 引数の 追加で、日付の加減算を、パラメータ指定できるようになります。 数字以外の文字が指定されたり、パラメータの解析結果が NULL の場合には、BB引数自体も無視されます。 注意点は、各 BB 引数に応じて、数字の意味が異なるという事です。 HXXX,DXXX,MXXX 形式に、CC 引数を付けた場合は、XXX にさらに加算されます。 prmB に、数字を使用した場合、(コマンドでない場合)にも、CC 引数は、加算されます。 7.0.1.1 (2018/10/22) DATE.DIFF の場合、CC 引数は、差分の単位を指定するキーワードになります。AA-BB の結果を、 1:年 2:月 3:日 4:時 5:分 6:秒 に換算 して返します。端数は切り捨てで整数で返します。- パラメータ:
key
- フォーマットの予約語prmA
- 基準となる日付(nullの場合は、処理時刻)prmB
- 処理コマンドintC
- 加減算処理を行うための数字。0 は、BB引数の従来計算のまま。- 戻り値:
- メッセージ情報
- 関連項目:
- 変更履歴:
- 5.5.7.2 (2012/10/09) 新規作成, 5.6.1.1 (2013/02/08) prmB処理を、calendarCalc メソッドへ移動, 5.7.4.1 (2014/03/14) CC 引数を拡張, 6.4.3.3 (2016/03/04) Map#getOrDefault で対応する。, 7.0.1.1 (2018/10/22) DATE.DIFF 追加, 7.0.1.3 (2018/11/12) BB 引数に NO追加
- このメソッドは、nullを返しません
-
calendarCalc
開始前設定値、または 終了後設定値の文字列から、オプション文字列を合成します。 基準となる日付に計算した結果を反映させます。 CC引数の加減算パラメータは、0 です。- パラメータ:
now
- 基準となる日付(Calendarオブジェクト)prmB
- 処理コマンド- 変更履歴:
- 5.7.4.1 (2014/03/14) CC 引数を拡張するため、旧メソッドを再現しておきます。
-
calendarCalc
開始前設定値、または 終了後設定値の文字列から、オプション文字列を合成します。 基準となる日付に計算した結果を反映させます。 prmB は、日付についての加減算処理を行うためのコマンドを指定します。 ・SY :当年の最初の日付にセットします。(当年1月1日)。CC引数は、-N:N年前、0:当年(=SY)、N:N年後 6.9.2.1 (2018/03/12) ・SD :当月の最初の日付にセットします。(当月1日)。CC引数は、-N:N月前、0:当月(=SD)、N:N月後、-1:BSD と同じ、1:ASD と同じ ・SW :日付処理の週初め(月曜日)にセットします。日付は当日より前に移動します。CC引数は、-N:N週前、0:今週(=SW)、N:N週後 ・SH :指定の最初の時にセットします。(分秒を0000にする)。CC引数は、時の倍数(4と指定すれば、4時間単位に前に戻る) 6.7.4.1 (2017/02/17) ・SM :指定の最初の分にセットします。(秒を00にする)。CC引数は、分の倍数(15と指定すれば、15分単位に前に戻る) 6.7.4.1 (2017/02/17) ・SS :指定の最初の秒にセットします。CC引数は、秒の倍数(15と指定すれば、15秒単位に前に戻る) 6.7.4.1 (2017/02/17) ・EY :当年の最後の日付にセットします。(当年年末)。CC引数は、-N:N年前、0:当年(=EY)、N:N年後 6.9.2.1 (2018/03/12) ・ED :当月の最後の日付にセットします。(当月月末)。CC引数は、-N:N月前、0:当月(=ED)、N:N月後、-1:BED と同じ、1:AED と同じ ・EW :日付処理の週末(日曜日)にセットします。日付は当日より後ろに移動します。CC引数は、-N:N週前、0:今週(=EW)、N:N週後 ・EH :指定の次の時にセットします。(分秒を0000にした次の時)。CC引数は、時の倍数(4と指定すれば、4時間単位に前に進む) 6.7.4.1 (2017/02/17) ・EM :指定の次の分にセットします。(秒を00にした次の分)。CC引数は、分の倍数(15と指定すれば、15分単位に前に進む) 6.7.4.1 (2017/02/17) ・ES :指定の次の秒にセットします。CC引数は、秒の倍数(15と指定すれば、15秒単位に前に進む) 6.7.4.1 (2017/02/17) ・M1 ~ MXXX :月を指定の分だけ進めます。M1なら翌月、M6 なら半年後 ・D1 ~ DXXX :日を指定の分だけ進めます。D1なら翌日、D200 なら200日後 ・H1 ~ HXXX :時を指定の分だけ進めます。H1なら1時間後、H24 なら24時間後(5.5.5.6 (2012/08/31) 追加) ・MI :分を指定の分だけ進めます。第四引数(intC) で、時間を指定します。(6.8.4.1 (2017/12/18) 追加) ・YMD :CC 引数のYMD表記の日付を加減算します。6.8.4.1 (2017/12/18) 追加 ・HM :CC 引数のHM表記の時刻を加減算します。6.8.4.1 (2017/12/18) 追加 ・NO :AA 引数がnullの場合、現在時刻ではなく空文字列にします。 7.0.1.3 (2018/11/12) 追加 ・(有閑)BSD :先月の最初の日付にセットします。(先月1日)(5.5.5.2 追加)。SD-1 と同等 ・(有閑)BED :先月の最後の日付にセットします。(先月月末)(5.5.5.2 追加)。ED-1 と同等 ・(有閑)ASD :翌月の最初の日付にセットします。(翌月1日)(5.5.5.2 追加)。SD1 と同等 ・(有閑)AED :翌月の最後の日付にセットします。(翌月月末)(5.5.5.2 追加)。ED1 と同等 ・数字:日を指定の分だけ進めます。D1 ~ DXXX の簡略系 CC 引数は、特別な処理で、BB 引数に対して、加算、減算のための数字を指定できます。(5.7.4.1 (2014/03/14) 追加) HXXX,DXXX,MXXX 形式に、CC 引数を付けた場合は、XXX にさらに加算されます。 prmB に、数字を使用した場合、(コマンドでない場合)にも、CC 引数は、加算されます。 6.8.4.1 (2017/12/18) BB 引数に、HM を指定した場合、時分のデータを加算します。この場合、時に関しては、24時間を越える 場合は、日付に加算されます。例えば、翌朝の6時を指定する場合、3000 と指定することで、1日+0600 となります。- パラメータ:
now
- 基準となる日付(Calendarオブジェクト)prmB
- 処理コマンドintC
- 加減算処理を行うための数字。0 は、BB引数の従来計算のまま。- 変更履歴:
- 5.6.1.1 (2013/02/08) getDateFormat( String ,String ,String ) から分離。, 5.7.4.1 (2014/03/14) H1 ~ HXXX :時を指定の分だけ進める処理が実装されていなかった。, 5.7.4.1 (2014/03/14) CC 引数追加, 6.7.4.1 (2017/02/17) SH,SM,SS,EH,EM,ES 追加, 6.8.4.1 (2017/12/18) YMD , HM , MI 追加, 6.9.2.1 (2018/03/12) 年関連の機能(Y4,SY,EY)追加, 7.0.1.3 (2018/11/12) BB 引数に NO追加
-
calendarDiff
日付の差分を求めます。 timeA - timeB を求め、intCの数値で単位を指定します。 intC は、1:年 2:月 3:日 4:時 5:分 6:秒 に換算した単位での差分になります。 端数は出ません。- パラメータ:
timeA
- 基準となる日付(Calendarオブジェクト)prmB
- 日付データになります。AA-BB の関係です。intC
- 差分の単位を指定するキーワード(1:年 2:月 3:日 4:時 5:分 6:秒 に換算)- 戻り値:
- 指定の時間の差(timeA - timeB マイナスもある)
- 変更履歴:
- 7.0.1.1 (2018/10/22) DATE.DIFF 追加, 7.2.9.4 (2020/11/20) spotbugs:switch 文の2つの case のために同じコードを使用しているメソッド
-
getCalendar
指定の引数の日付け文字列より、カレンダオブジェクトを作成します。 引数は、数字以外の文字を削除した状態に変換後、処理に回します。 不要な文字を削除した状態で、8文字以上になるように指定してください。 例外的に、6文字の場合は、yyyyMM01 とみなして、"01" 文字列を付与します。 引数に null を指定すると、現在時刻のカレンダを返します。 それ以外のデータで、8ケタ以下の場合は、RuntimeException が発生します。 8ケタ以上14ケタ未満の場合は、8ケタ分を、年月日に分離したカレンダ オブジェクトを作成します。14ケタ以上で初めて、時分秒を含むカレンダ を作成します。- パラメータ:
value
- 日付け文字列- 戻り値:
- カレンダオブジェクト(引数がnullの場合は、現在時刻)
- 変更履歴:
- 5.5.7.2 (2012/10/09) 新規作成, 5.5.8.2 (2012/11/09) value の判定に、null と ゼロ文字列を判定する。
- このメソッドは、nullを返しません
-
getDatePlus
指定の引数の日付け文字列(yyyyMMdd)より、日付を加算して返します。 マイナスを与えると、減算します。 日付以上の精度の文字列を渡しても、日付のみの計算となります。 結果は、引数の日付フォーマットとは全く別で、yyyyMMdd の8文字形式になります。 引数に null を渡すと、実行時の日付をベースとして処理します。- パラメータ:
baseDate
- 日付け文字列(yyyyMMdd)plus
- 加算する日数(過去にするにはマイナス値を指定する)- 戻り値:
- 結果の日付(yyyyMMdd)
- 変更履歴:
- 5.5.7.2 (2012/10/09) 新規作成
- このメソッドは、nullを返しません
-
getMonthPlus
現在の月に、指定の月数をプラスした日付文字列を返します。 日付文字列のフォーマットは、"yyyyMM" です。 指定する月数にマイナスを指定すると、減算できます。- パラメータ:
baseDate
- 日付け文字列(yyyyMM)plus
- 加算する月数(過去にするにはマイナス値を指定する)- 戻り値:
- 指定の月数をプラスした日付文字列(yyyyMM)
- 変更履歴:
- 5.5.7.2 (2012/10/09) 新規作成
- このメソッドは、nullを返しません
-
getDatePlus
指定の引数の日付け文字列(yyyyMMdd、yyyyMMddHHmmss)に、日付を加算して返します。 マイナスを与えると、減算します。 指定する日付には、単位を付与することが可能です。 単位は、yyyyMMddHHmmss 形式の1文字を指定します。大文字、小文字も識別します。 plus="5M" とすれば、5か月、plus="5d" とすれば、5日 追加します。 plus に単位を付けない場合は、tani に指定の単位を使います。 plus そのものが、null か、isEmpty の場合は、加算は、1 になります。 baseDate 文字列を日付文字列に変換後、Calendar で計算し、結果を、format 形式に変換します。 引数に null を渡すと、実行時の日付をベースとして処理します。- パラメータ:
baseDate
- 日付け文字列(yyyyMMdd、yyyyMMddHHmmss 形式の日付文字列)plus
- 加算する日数(日付単位を含む。単位は、y,M,d,H,m,s の文字で、大文字小文字の区別があります)defTani
- 日付単位が未指定の場合の初期単位('y','M','d','H','m','s' のどれか)format
- 返す日付文字列のフォーマット(yyyyMMdd、yyyyMMddHHmmss)- 戻り値:
- 結果の日付(yyyyMMdd)
- 例外:
NumberFormatException
- 加算する日数の単位が('y','M','d','H','m','s')以外の場合。- 変更履歴:
- 5.6.1.0 (2013/02/01) 新規作成
- このメソッドは、nullを返しません
-
toYmd
指定の日付文字列を指定の形式の文字列に変換します。 入力の日付文字列は、"yyyyMMddHHmmss" または、 "yyyyMMdd" です。 記号が入っている場合でも、一応処理します。 指定のフォーマットも、同様に、yyyyMMddHHmmss 形式で指定します。- パラメータ:
ymd
- 日付け文字列(yyyyMM)format
- 加算する月数(過去にするにはマイナス値を指定する)- 戻り値:
- 指定の日付文字列を指定の形式の文字列に変換
- 変更履歴:
- 7.0.1.2 (2018/11/04) 新規登録
- このメソッドは、nullを返しません
-
stepYM
指定の年月文字列のFrom-Toを、文字列の配列で返します。 "yyyyMM" 形式の範囲内の文字列配列を作成します。 ※ endがnullの場合は、beginそのものを配列にセットして返します。 つまり、1件のみの配列になります。 ※ end == beginの場合は、配列は、ゼロ個の配列になります。- パラメータ:
begin
- 開始の年月(含む)end
- 終了の年月(含まない)step
- 加算する月数- 戻り値:
- 指定の年月文字列のFrom-Toを、文字列の配列で返す
- 変更履歴:
- 7.0.5.0 (2019/09/09) 新規追加
- このメソッドは、nullを返しません
-