パッケージ org.opengion.fukurou.util

# クラス HybsDateUtil

java.lang.Object
org.opengion.fukurou.util.HybsDateUtil

public final class HybsDateUtil extends Object
HybsDateUtil.java は､共通的に使用される Date,Calender関連ﾒｿｯﾄﾞを集約した､staticﾒｿｯﾄﾞのみで構成されるｸﾗｽです｡

変更履歴:
  5.5.7.2 (2012/10/09) 新規作成
機能分類
  ﾕｰﾃｨﾘﾃｨ
導入されたバージョン:
  JDK7.0,

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `static void`
  `calendarCalc(Calendar now, String prmB)`
  開始前設定値､または 終了後設定値の文字列から､ｵﾌﾟｼｮﾝ文字列を合成します｡ 基準となる日付に計算した結果を反映させます｡ CC引数の加減算ﾊﾟﾗﾒｰﾀは､0 です｡
  `static void`
  `calendarCalc(Calendar now, String prmB, int intC)`
  開始前設定値､または 終了後設定値の文字列から､ｵﾌﾟｼｮﾝ文字列を合成します｡ 基準となる日付に計算した結果を反映させます｡ prmB は､日付についての加減算処理を行うためのｺﾏﾝﾄﾞを指定します｡ ･SY ：当年の最初の日付にｾｯﾄします｡(当年１月１日)｡CC引数は､-N:N年前､0:当年(=SY)､N:N年後 6.9.2.1 (2018/03/12) ･SD ：当月の最初の日付にｾｯﾄします｡(当月１日)｡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なら１時間後､H24 なら２４時間後(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 ：先月の最初の日付にｾｯﾄします｡(先月１日)(5.5.5.2 追加)｡SD-1 と同等 ･(有閑)BED ：先月の最後の日付にｾｯﾄします｡(先月月末)(5.5.5.2 追加)｡ED-1 と同等 ･(有閑)ASD ：翌月の最初の日付にｾｯﾄします｡(翌月１日)(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時間を越える 場合は､日付に加算されます｡例えば､翌朝の６時を指定する場合､3000 と指定することで､１日＋0600 となります｡
  `static String`
  `calendarDiff(Calendar timeA, String prmB, int intC)`
  日付の差分を求めます｡ timeA - timeB を求め､intCの数値で単位を指定します｡ intC は､1:年 2:月 3:日 4:時 5:分 6:秒 に換算した単位での差分になります｡ 端数は出ません｡
  `static Calendar`
  `getCalendar(String value)`
  指定の引数の日付け文字列より､ｶﾚﾝﾀﾞｵﾌﾞｼﾞｪｸﾄを作成します｡ 引数は､数字以外の文字を削除した状態に変換後､処理に回します｡ 不要な文字を削除した状態で､８文字以上になるように指定してください｡ 例外的に､６文字の場合は､yyyyMM01 とみなして､"01" 文字列を付与します｡ 引数に null を指定すると､現在時刻のｶﾚﾝﾀﾞを返します｡ それ以外のﾃﾞｰﾀで､８ｹﾀ以下の場合は､RuntimeException が発生します｡ ８ｹﾀ以上１４ｹﾀ未満の場合は､８ｹﾀ分を､年月日に分離したｶﾚﾝﾀﾞ ｵﾌﾞｼﾞｪｸﾄを作成します｡１４ｹﾀ以上で初めて､時分秒を含むｶﾚﾝﾀﾞ を作成します｡
  `static String`
  `getDateFormat(String value)`
  日付関係の情報を簡易的に処理します｡ 引数に与えるのは､{@DATE.XXXX} の XXXX 文字列になります｡ この "XXXX" 文字列は､"key prmA prmB prmC" 形式を取ることができます｡ 各文字列をｽﾍﾟｰｽで分割して､先頭から変数に割り当てます｡ また､prmA の日付文字判定と､数値変換と､prmC の数値変換も行います｡ ただし､ﾘｸｴｽﾄ変数の @ 文字列変換は､出来ません｡
  `static String`
  `getDateFormat(String key, String prmA)`
  日付関係の情報を簡易的に処理します｡ 処理ｺﾏﾝﾄﾞと､CC引数の加減算ﾊﾟﾗﾒｰﾀを使用しないﾊﾞｰｼﾞｮﾝです｡
  `static String`
  `getDateFormat(String key, String prmA, String prmB, int intC)`
  日付関係の情報を簡易的に処理します｡ 第一引数(key) "XXXX" は､日付処理を行うﾌｫｰﾏｯﾄの予約語になっています｡ ･Y4 ：４文字の年ﾃﾞｰﾀ(yyyy)を扱います｡ ･YMD ：８文字の4-2-2年月日ﾃﾞｰﾀ(yyyyMMdd)を扱います｡ ･Y2MD ：６文字の2-2-2年月日ﾃﾞｰﾀ(yyMMdd)を扱います｡ ･YM ：６文字の4-2年月ﾃﾞｰﾀ(yyyyMM)を扱います｡ ･MD ：４文字の月日ﾃﾞｰﾀ(MMdd)を扱います｡ ･HMS ：６文字の2-2-2時分秒ﾃﾞｰﾀ(HHmmss)を扱います｡ ･HM ：４文字の2-2時分ﾃﾞｰﾀ(HHmm)を扱います｡6.7.4.1 (2017/02/17) ･YMDHMS ：１４文字の4-2-2-2-2-2年月日時分秒ﾃﾞｰﾀ(yyyyMMddHHmmss)を扱います｡ ･YMDHM ：１２文字の4-2-2-2-2年月日時分ﾃﾞｰﾀ(yyyyMMddHHmm)を扱います｡ ･YMDH ：１０文字の4-2-2-2年月日時ﾃﾞｰﾀ(yyyyMMddHH)を扱います｡ ･EEE ：曜日をﾃﾞﾌｫﾙﾄﾛｹｰﾙで表示します｡ F付きは､ﾌｫｰﾏｯﾄされた日付を返します｡ ･YMDF ：１０文字の日付表現(yyyy/MM/dd)を扱います｡ ･YMD-F ：HTML5 type="date" の日付表現(yyyy-MM-dd)を扱います｡8.0.1.2 (2021/11/19) ･Y2MDF ：８文字の日付表現(yy/MM/dd)を扱います｡ ･YMF ：７文字の日付表現(yyyy/MM)を扱います｡ ･YM-F ：HTML5 type="month"の日付表現(yyyy-MM)を扱います｡8.0.1.2 (2021/11/19) ･HMSF ：８文字の時刻表現(HH:mm:ss)を扱います｡ ･HMF ：５文字の時刻表現(HH:mm)を扱います｡6.7.4.1 (2017/02/17) ･YMDHMSF：１９文字の日付表現(yyyy/MM/dd HH:mm:ss)を扱います｡ ･YMDHMF ：１７文字の日付表現(yyyy/MM/dd HH:mm)を扱います｡ ･YMDHM-F：１７文字の日付表現(yyyy-MM-ddTHH:mm)を扱います｡8.0.1.2 (2021/11/19) ･MDF ：５文字の月日表現(MM/dd)を扱います｡ ･MDEF ：５文字＋曜日の月日表現(MM/dd(EEE))を扱います｡ ･MDHMF ：１１文字の月日時分表現(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形式を推奨しますが､'/' , '-' , ' ' , ':' を削除して使います｡ ６桁の場合は､yyyyMM + 01 とし､８ｹﾀの場合は､yyyyMMdd とし､14ｹﾀ以上の場合は､前半１４文字を yyyyMMddHHmmss として処理します｡それ以外の桁数の場合は､ｴﾗｰになります｡ たとえば､"2012/09/05 16:52:36" のようなﾌｫｰﾏｯﾄﾃﾞｰﾀの場合､'/' , '-' , ' ' , ':' を削除して "20120905165236" に変換後､日付ｵﾌﾞｼﾞｪｸﾄに変換されます｡ 第三引数(prmB) BB は､日付についての加減算処理を行うためのｺﾏﾝﾄﾞを指定します｡ nullの場合は､なにも加減算処理を行いません｡ ･SY ：当年の最初の日付にｾｯﾄします｡(当年１月１日)｡CC引数は､-N:N年前､0:当年(=SY)､N:N年後 6.9.2.1 (2018/03/12) ･SD ：当月の最初の日付にｾｯﾄします｡(当月１日)｡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なら１時間後､H24 なら２４時間後(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 ：先月の最初の日付にｾｯﾄします｡(先月１日)(5.5.5.2 追加)｡SD -1 と同等 ･(有閑)BED ：先月の最後の日付にｾｯﾄします｡(先月月末)(5.5.5.2 追加)｡ED -1 と同等 ･(有閑)ASD ：翌月の最初の日付にｾｯﾄします｡(翌月１日)(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" の １文字ﾊﾟﾗﾒｰﾀの場合のみ利用可能でした｡ これは､"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:秒 に換算 して返します｡端数は切り捨てで整数で返します｡
  `static String`
  `getDatePlus(String baseDate, int plus)`
  指定の引数の日付け文字列(yyyyMMdd)より､日付を加算して返します｡ ﾏｲﾅｽを与えると､減算します｡ 日付以上の精度の文字列を渡しても､日付のみの計算となります｡ 結果は､引数の日付ﾌｫｰﾏｯﾄとは全く別で､yyyyMMdd の８文字形式になります｡ 引数に null を渡すと､実行時の日付をﾍﾞｰｽとして処理します｡
  `static String`
  `getDatePlus(String baseDate, String plus, int defTani, String format)`
  指定の引数の日付け文字列(yyyyMMdd､yyyyMMddHHmmss)に､日付を加算して返します｡ ﾏｲﾅｽを与えると､減算します｡ 指定する日付には､単位を付与することが可能です｡ 単位は､yyyyMMddHHmmss 形式の１文字を指定します｡大文字､小文字も識別します｡ plus="5M" とすれば､５か月､plus="5d" とすれば､５日 追加します｡ plus に単位を付けない場合は､tani に指定の単位を使います｡ plus そのものが､null か､isEmpty の場合は､加算は､1 になります｡ baseDate 文字列を日付文字列に変換後､Calendar で計算し､結果を､format 形式に変換します｡ 引数に null を渡すと､実行時の日付をﾍﾞｰｽとして処理します｡
  `static String`
  `getMonthPlus(String baseDate, int plus)`
  現在の月に､指定の月数をﾌﾟﾗｽした日付文字列を返します｡ 日付文字列のﾌｫｰﾏｯﾄは､"yyyyMM" です｡ 指定する月数にﾏｲﾅｽを指定すると､減算できます｡
  `static boolean`
  `isStrict(String value)`
  日付文字列の厳密な整合性ﾁｪｯｸを行います｡ ここで指定できるのは､８文字（yyyyMMdd）､１４文字（yyyyMMddHHmmss）のどちらかの 数字だけの日付文字列であり､それが､日付として正しいかどうかのﾁｪｯｸを行います｡ 正しければ､true を､間違っていれば､false を返します｡ ここでは､20120230（２月３０日）などの日付や､20120101235960 なども false になります｡ 引数が､null および､空文字列の場合も､false を返しますので､避けたい場合は､事前に 判定しておいてください｡ 内部処理としては､DateFormat で､setLenient( false ) を設定することで､ 日付/時刻解析を厳密に解析するにして､ParseException が発生しないかどうか判定しています｡
  `static String`
  `parseDate(String value, int size)`
  日付文字列の桁数の整合性を取ります｡ これは､内部で､parseNumber(String) 処理により､不要なﾌｫｰﾏｯﾄ記号を削除します｡ ここでは､基本的には､６文字（yyyyMM）､８文字（yyyyMMdd）､１４文字（yyyyMMddHHmmss） の日付文字列を作成することを想定していますが､指定の桁数以外は､ｴﾗｰになります｡ 引数が､null ⇒ 桁数に無関係に､空文字列を返す｡ 引数の桁数が一致 ⇒ その値を返す｡ 引数の桁数が不一致 ⇒ ｴﾗｰ ただし､引数の最大長は､１４ｹﾀに制限しています｡ このﾒｿｯﾄﾞでは､日付として成立しているかどうか（99999999など）は判定していません｡
  `static String`
  `parseDate(String value, int minSize, int maxSize)`
  日付文字列の桁数の整合性を取ります｡ これは､内部で､parseNumber(String) 処理により､不要なﾌｫｰﾏｯﾄ記号を削除します｡ ここでは､基本的には､６文字（yyyyMM）､８文字（yyyyMMdd）､１４文字（yyyyMMddHHmmss） の日付文字列を作成することを想定していますが､それ以外の桁数でも下記のﾙｰﾙに従って 処理されます｡ 引数が､null ⇒ 桁数に無関係に､空文字列を返す｡ 引数の桁数が範囲内 ⇒ 以下の処理を実行する｡ 引数の桁数を同じ ⇒ そのまま返す｡ 引数の桁数より大きい ⇒ 余をｶｯﾄして､引数の最大長にそろえる｡ 引数の桁数に足りない ⇒ "20000101000000" の文字列の部分文字列を結合させて､引数の最大長にそろえる｡ ただし､引数の最大長は､１４ｹﾀに制限しています｡ このﾒｿｯﾄﾞでは､日付として成立しているかどうか（99999999など）は判定していません｡
  `static String`
  `parseNumber(String value)`
  指定の文字列から､以下の文字を削除した文字列を返します｡ '/' , '-' , ' ' , ':' の数字以外の文字を含むﾌｫｰﾏｯﾄされた 日付文字列を､日付ﾃﾞｰﾀだけに変換する場合に利用することを想定しています｡ よって､ﾏｲﾅｽ記号や､小数点､ｺﾝﾏなども削除されます｡ このﾒｿｯﾄﾞでは､日付としての整合性や桁ﾁｪｯｸは行いませんが､ 桁数は､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桁のどれかに､合わせます｡
  `static String`
  `parseTimestamp(String value)`
  指定の文字列から､yyyy-mm-dd hh:mm:ss 形式の文字列を作成します｡ これは､java.sql.Timestamp ｵﾌﾞｼﾞｪｸﾄを文字列から作成するに当たり､ Timestamp の文字列形式にしなければならないためです｡ 桁数は､８桁 または､１４桁以外の場合は､変換ｴﾗｰとします｡
  `static String[]`
  `stepYM(String begin, String end, int step)`
  指定の年月文字列のFrom-Toを､文字列の配列で返します｡ "yyyyMM" 形式の範囲内の文字列配列を作成します｡ ※ endがnullの場合は､beginそのものを配列にｾｯﾄして返します｡ つまり､1件のみの配列になります｡ ※ end == beginの場合は､配列は､ｾﾞﾛ個の配列になります｡
  `static String`
  `toYmd(String ymd, String format)`
  指定の日付文字列を指定の形式の文字列に変換します｡ 入力の日付文字列は､"yyyyMMddHHmmss" または､ "yyyyMMdd" です｡ 記号が入っている場合でも､一応処理します｡ 指定のﾌｫｰﾏｯﾄも､同様に､yyyyMMddHHmmss 形式で指定します｡

  ### クラスから継承されたメソッド java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## メソッドの詳細

  - ### parseNumber

    public static String parseNumber(String value)
    指定の文字列から､以下の文字を削除した文字列を返します｡ '/' , '-' , ' ' , ':' の数字以外の文字を含むﾌｫｰﾏｯﾄされた 日付文字列を､日付ﾃﾞｰﾀだけに変換する場合に利用することを想定しています｡ よって､ﾏｲﾅｽ記号や､小数点､ｺﾝﾏなども削除されます｡ このﾒｿｯﾄﾞでは､日付としての整合性や桁ﾁｪｯｸは行いませんが､ 桁数は､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) 内部処理を大幅に変更します｡, 8.0.1.2 (2021/11/19) yyyy-MM-ddTHH:mm 対応(ｽﾍﾟｰｽではなくTで区切る)
    このﾒｿｯﾄﾞは、nullを返しません

  - ### parseTimestamp

    public static String parseTimestamp(String value)
    指定の文字列から､yyyy-mm-dd hh:mm:ss 形式の文字列を作成します｡ これは､java.sql.Timestamp ｵﾌﾞｼﾞｪｸﾄを文字列から作成するに当たり､ Timestamp の文字列形式にしなければならないためです｡ 桁数は､８桁 または､１４桁以外の場合は､変換ｴﾗｰとします｡
    パラメータ:
      `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

    public static String parseDate(String value, int size)
    日付文字列の桁数の整合性を取ります｡ これは､内部で､parseNumber(String) 処理により､不要なﾌｫｰﾏｯﾄ記号を削除します｡ ここでは､基本的には､６文字（yyyyMM）､８文字（yyyyMMdd）､１４文字（yyyyMMddHHmmss） の日付文字列を作成することを想定していますが､指定の桁数以外は､ｴﾗｰになります｡ 引数が､null ⇒ 桁数に無関係に､空文字列を返す｡ 引数の桁数が一致 ⇒ その値を返す｡ 引数の桁数が不一致 ⇒ ｴﾗｰ ただし､引数の最大長は､１４ｹﾀに制限しています｡ このﾒｿｯﾄﾞでは､日付として成立しているかどうか（99999999など）は判定していません｡
    パラメータ:
      `value` - 任意の日付け文字列
      `size` - 変換したい桁数
    戻り値:
      数字だけで構成される文字列（例：20010417154822）(nullはｾﾞﾛ文字列を返します)
    変更履歴:
      5.6.6.0 (2013/07/05) ﾒｿｯﾄﾞの内容を移す｡
    このﾒｿｯﾄﾞは、nullを返しません

  - ### parseDate

    public static String parseDate(String value, int minSize, int maxSize)
    日付文字列の桁数の整合性を取ります｡ これは､内部で､parseNumber(String) 処理により､不要なﾌｫｰﾏｯﾄ記号を削除します｡ ここでは､基本的には､６文字（yyyyMM）､８文字（yyyyMMdd）､１４文字（yyyyMMddHHmmss） の日付文字列を作成することを想定していますが､それ以外の桁数でも下記のﾙｰﾙに従って 処理されます｡ 引数が､null ⇒ 桁数に無関係に､空文字列を返す｡ 引数の桁数が範囲内 ⇒ 以下の処理を実行する｡ 引数の桁数を同じ ⇒ そのまま返す｡ 引数の桁数より大きい ⇒ 余をｶｯﾄして､引数の最大長にそろえる｡ 引数の桁数に足りない ⇒ "20000101000000" の文字列の部分文字列を結合させて､引数の最大長にそろえる｡ ただし､引数の最大長は､１４ｹﾀに制限しています｡ このﾒｿｯﾄﾞでは､日付として成立しているかどうか（99999999など）は判定していません｡
    パラメータ:
      `value` - 任意の日付け文字列
      `minSize` - 変換したい桁数の最小値
      `maxSize` - 変換したい桁数の最大値
    戻り値:
      数字だけで構成される文字列（例：20010417154822）(nullはｾﾞﾛ文字列を返します)
    変更履歴:
      5.5.7.2 (2012/10/09) 新規作成, 5.6.1.1 (2013/02/08) 桁数ﾁｪｯｸ導入｡６桁以下だとｴﾗｰにする｡, 5.6.6.0 (2013/07/05) 桁数ﾁｪｯｸの最小-最大指定, 6.2.3.0 (2015/05/01) len == maxSize のとき､ﾊﾟｰｽ文字列ではなく､元の値を返していた｡
    このﾒｿｯﾄﾞは、nullを返しません

  - ### isStrict

    public static boolean isStrict(String value)
    日付文字列の厳密な整合性ﾁｪｯｸを行います｡ ここで指定できるのは､８文字（yyyyMMdd）､１４文字（yyyyMMddHHmmss）のどちらかの 数字だけの日付文字列であり､それが､日付として正しいかどうかのﾁｪｯｸを行います｡ 正しければ､true を､間違っていれば､false を返します｡ ここでは､20120230（２月３０日）などの日付や､20120101235960 なども false になります｡ 引数が､null および､空文字列の場合も､false を返しますので､避けたい場合は､事前に 判定しておいてください｡ 内部処理としては､DateFormat で､setLenient( false ) を設定することで､ 日付/時刻解析を厳密に解析するにして､ParseException が発生しないかどうか判定しています｡
    パラメータ:
      `value` - 数字だけで構成される日付け文字列
    戻り値:
      true:日付として正しい場合/false:日付として間違っている場合
    変更履歴:
      5.5.7.2 (2012/10/09) 新規作成

  - ### getDateFormat

    public static String getDateFormat(String value)
    日付関係の情報を簡易的に処理します｡ 引数に与えるのは､{@DATE.XXXX} の XXXX 文字列になります｡ この "XXXX" 文字列は､"key prmA prmB prmC" 形式を取ることができます｡ 各文字列をｽﾍﾟｰｽで分割して､先頭から変数に割り当てます｡ また､prmA の日付文字判定と､数値変換と､prmC の数値変換も行います｡ ただし､ﾘｸｴｽﾄ変数の @ 文字列変換は､出来ません｡
    パラメータ:
      `value` - 日付引数のﾊﾟﾗﾒｰﾀ
    戻り値:
      ﾒｯｾｰｼﾞ情報
    関連項目:
      - `getDateFormat(String, String,String, int)`
    変更履歴:
      6.9.2.1 (2018/03/12) 新規追加
    このﾒｿｯﾄﾞは、nullを返しません

  - ### getDateFormat

    public static String getDateFormat(String key, String prmA)
    日付関係の情報を簡易的に処理します｡ 処理ｺﾏﾝﾄﾞと､CC引数の加減算ﾊﾟﾗﾒｰﾀを使用しないﾊﾞｰｼﾞｮﾝです｡
    パラメータ:
      `key` - ﾌｫｰﾏｯﾄの予約語
      `prmA` - 基準となる日付(nullの場合は､処理時刻)
    戻り値:
      ﾒｯｾｰｼﾞ情報
    関連項目:
      - `getDateFormat(String, String,String, int)`
    変更履歴:
      6.9.2.1 (2018/03/12) ﾒｿｯﾄﾞの引数を簡素化
    このﾒｿｯﾄﾞは、nullを返しません

  - ### getDateFormat

    public static String getDateFormat(String key, String prmA, String prmB, int intC)
    日付関係の情報を簡易的に処理します｡ 第一引数(key) "XXXX" は､日付処理を行うﾌｫｰﾏｯﾄの予約語になっています｡ ･Y4 ：４文字の年ﾃﾞｰﾀ(yyyy)を扱います｡ ･YMD ：８文字の4-2-2年月日ﾃﾞｰﾀ(yyyyMMdd)を扱います｡ ･Y2MD ：６文字の2-2-2年月日ﾃﾞｰﾀ(yyMMdd)を扱います｡ ･YM ：６文字の4-2年月ﾃﾞｰﾀ(yyyyMM)を扱います｡ ･MD ：４文字の月日ﾃﾞｰﾀ(MMdd)を扱います｡ ･HMS ：６文字の2-2-2時分秒ﾃﾞｰﾀ(HHmmss)を扱います｡ ･HM ：４文字の2-2時分ﾃﾞｰﾀ(HHmm)を扱います｡6.7.4.1 (2017/02/17) ･YMDHMS ：１４文字の4-2-2-2-2-2年月日時分秒ﾃﾞｰﾀ(yyyyMMddHHmmss)を扱います｡ ･YMDHM ：１２文字の4-2-2-2-2年月日時分ﾃﾞｰﾀ(yyyyMMddHHmm)を扱います｡ ･YMDH ：１０文字の4-2-2-2年月日時ﾃﾞｰﾀ(yyyyMMddHH)を扱います｡ ･EEE ：曜日をﾃﾞﾌｫﾙﾄﾛｹｰﾙで表示します｡ F付きは､ﾌｫｰﾏｯﾄされた日付を返します｡ ･YMDF ：１０文字の日付表現(yyyy/MM/dd)を扱います｡ ･YMD-F ：HTML5 type="date" の日付表現(yyyy-MM-dd)を扱います｡8.0.1.2 (2021/11/19) ･Y2MDF ：８文字の日付表現(yy/MM/dd)を扱います｡ ･YMF ：７文字の日付表現(yyyy/MM)を扱います｡ ･YM-F ：HTML5 type="month"の日付表現(yyyy-MM)を扱います｡8.0.1.2 (2021/11/19) ･HMSF ：８文字の時刻表現(HH:mm:ss)を扱います｡ ･HMF ：５文字の時刻表現(HH:mm)を扱います｡6.7.4.1 (2017/02/17) ･YMDHMSF：１９文字の日付表現(yyyy/MM/dd HH:mm:ss)を扱います｡ ･YMDHMF ：１７文字の日付表現(yyyy/MM/dd HH:mm)を扱います｡ ･YMDHM-F：１７文字の日付表現(yyyy-MM-ddTHH:mm)を扱います｡8.0.1.2 (2021/11/19) ･MDF ：５文字の月日表現(MM/dd)を扱います｡ ･MDEF ：５文字＋曜日の月日表現(MM/dd(EEE))を扱います｡ ･MDHMF ：１１文字の月日時分表現(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形式を推奨しますが､'/' , '-' , ' ' , ':' を削除して使います｡ ６桁の場合は､yyyyMM + 01 とし､８ｹﾀの場合は､yyyyMMdd とし､14ｹﾀ以上の場合は､前半１４文字を yyyyMMddHHmmss として処理します｡それ以外の桁数の場合は､ｴﾗｰになります｡ たとえば､"2012/09/05 16:52:36" のようなﾌｫｰﾏｯﾄﾃﾞｰﾀの場合､'/' , '-' , ' ' , ':' を削除して "20120905165236" に変換後､日付ｵﾌﾞｼﾞｪｸﾄに変換されます｡ 第三引数(prmB) BB は､日付についての加減算処理を行うためのｺﾏﾝﾄﾞを指定します｡ nullの場合は､なにも加減算処理を行いません｡ ･SY ：当年の最初の日付にｾｯﾄします｡(当年１月１日)｡CC引数は､-N:N年前､0:当年(=SY)､N:N年後 6.9.2.1 (2018/03/12) ･SD ：当月の最初の日付にｾｯﾄします｡(当月１日)｡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なら１時間後､H24 なら２４時間後(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 ：先月の最初の日付にｾｯﾄします｡(先月１日)(5.5.5.2 追加)｡SD -1 と同等 ･(有閑)BED ：先月の最後の日付にｾｯﾄします｡(先月月末)(5.5.5.2 追加)｡ED -1 と同等 ･(有閑)ASD ：翌月の最初の日付にｾｯﾄします｡(翌月１日)(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" の １文字ﾊﾟﾗﾒｰﾀの場合のみ利用可能でした｡ これは､"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引数の従来計算のまま｡
    戻り値:
      ﾒｯｾｰｼﾞ情報
    関連項目:
      - `getDateFormat(String)`
      - `getDateFormat(String, String)`
      - `AA 引数 からｶﾚﾝﾀﾞｵﾌﾞｼﾞｪｸﾄを作成します｡`
      - `BB 引数､CC 引数を元に､日付計算します｡`
    変更履歴:
      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追加, 8.0.1.2 (2021/11/19) 日付ﾌｫｰﾏｯﾄ(key引数)に、\\n文字列が含まれる場合、変換しておきます。
    このﾒｿｯﾄﾞは、nullを返しません

  - ### calendarCalc

    public static void calendarCalc(Calendar now, String prmB)
    開始前設定値､または 終了後設定値の文字列から､ｵﾌﾟｼｮﾝ文字列を合成します｡ 基準となる日付に計算した結果を反映させます｡ CC引数の加減算ﾊﾟﾗﾒｰﾀは､0 です｡
    パラメータ:
      `now` - 基準となる日付（Calendarｵﾌﾞｼﾞｪｸﾄ）
      `prmB` - 処理ｺﾏﾝﾄﾞ
    変更履歴:
      5.7.4.1 (2014/03/14) CC 引数を拡張するため､旧ﾒｿｯﾄﾞを再現しておきます｡

  - ### calendarCalc

    public static void calendarCalc(Calendar now, String prmB, int intC)
    開始前設定値､または 終了後設定値の文字列から､ｵﾌﾟｼｮﾝ文字列を合成します｡ 基準となる日付に計算した結果を反映させます｡ prmB は､日付についての加減算処理を行うためのｺﾏﾝﾄﾞを指定します｡ ･SY ：当年の最初の日付にｾｯﾄします｡(当年１月１日)｡CC引数は､-N:N年前､0:当年(=SY)､N:N年後 6.9.2.1 (2018/03/12) ･SD ：当月の最初の日付にｾｯﾄします｡(当月１日)｡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なら１時間後､H24 なら２４時間後(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 ：先月の最初の日付にｾｯﾄします｡(先月１日)(5.5.5.2 追加)｡SD-1 と同等 ･(有閑)BED ：先月の最後の日付にｾｯﾄします｡(先月月末)(5.5.5.2 追加)｡ED-1 と同等 ･(有閑)ASD ：翌月の最初の日付にｾｯﾄします｡(翌月１日)(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時間を越える 場合は､日付に加算されます｡例えば､翌朝の６時を指定する場合､3000 と指定することで､１日＋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

    public static String calendarDiff(Calendar timeA, String prmB, int intC)
    日付の差分を求めます｡ 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

    public static Calendar getCalendar(String value)
    指定の引数の日付け文字列より､ｶﾚﾝﾀﾞｵﾌﾞｼﾞｪｸﾄを作成します｡ 引数は､数字以外の文字を削除した状態に変換後､処理に回します｡ 不要な文字を削除した状態で､８文字以上になるように指定してください｡ 例外的に､６文字の場合は､yyyyMM01 とみなして､"01" 文字列を付与します｡ 引数に null を指定すると､現在時刻のｶﾚﾝﾀﾞを返します｡ それ以外のﾃﾞｰﾀで､８ｹﾀ以下の場合は､RuntimeException が発生します｡ ８ｹﾀ以上１４ｹﾀ未満の場合は､８ｹﾀ分を､年月日に分離したｶﾚﾝﾀﾞ ｵﾌﾞｼﾞｪｸﾄを作成します｡１４ｹﾀ以上で初めて､時分秒を含むｶﾚﾝﾀﾞ を作成します｡
    パラメータ:
      `value` - 日付け文字列
    戻り値:
      ｶﾚﾝﾀﾞｵﾌﾞｼﾞｪｸﾄ(引数がnullの場合は､現在時刻)
    変更履歴:
      5.5.7.2 (2012/10/09) 新規作成, 5.5.8.2 (2012/11/09) value の判定に､null と ｾﾞﾛ文字列を判定する｡
    このﾒｿｯﾄﾞは、nullを返しません

  - ### getDatePlus

    public static String getDatePlus(String baseDate, int plus)
    指定の引数の日付け文字列(yyyyMMdd)より､日付を加算して返します｡ ﾏｲﾅｽを与えると､減算します｡ 日付以上の精度の文字列を渡しても､日付のみの計算となります｡ 結果は､引数の日付ﾌｫｰﾏｯﾄとは全く別で､yyyyMMdd の８文字形式になります｡ 引数に null を渡すと､実行時の日付をﾍﾞｰｽとして処理します｡
    パラメータ:
      `baseDate` - 日付け文字列(yyyyMMdd)
      `plus` - 加算する日数(過去にするにはﾏｲﾅｽ値を指定する)
    戻り値:
      結果の日付(yyyyMMdd)
    変更履歴:
      5.5.7.2 (2012/10/09) 新規作成
    このﾒｿｯﾄﾞは、nullを返しません

  - ### getMonthPlus

    public static String getMonthPlus(String baseDate, int plus)
    現在の月に､指定の月数をﾌﾟﾗｽした日付文字列を返します｡ 日付文字列のﾌｫｰﾏｯﾄは､"yyyyMM" です｡ 指定する月数にﾏｲﾅｽを指定すると､減算できます｡
    パラメータ:
      `baseDate` - 日付け文字列(yyyyMM)
      `plus` - 加算する月数(過去にするにはﾏｲﾅｽ値を指定する)
    戻り値:
      指定の月数をﾌﾟﾗｽした日付文字列(yyyyMM)
    変更履歴:
      5.5.7.2 (2012/10/09) 新規作成
    このﾒｿｯﾄﾞは、nullを返しません

  - ### getDatePlus

    public static String getDatePlus(String baseDate, String plus, int defTani, String format)
    指定の引数の日付け文字列(yyyyMMdd､yyyyMMddHHmmss)に､日付を加算して返します｡ ﾏｲﾅｽを与えると､減算します｡ 指定する日付には､単位を付与することが可能です｡ 単位は､yyyyMMddHHmmss 形式の１文字を指定します｡大文字､小文字も識別します｡ plus="5M" とすれば､５か月､plus="5d" とすれば､５日 追加します｡ 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

    public static String toYmd(String ymd, String format)
    指定の日付文字列を指定の形式の文字列に変換します｡ 入力の日付文字列は､"yyyyMMddHHmmss" または､ "yyyyMMdd" です｡ 記号が入っている場合でも､一応処理します｡ 指定のﾌｫｰﾏｯﾄも､同様に､yyyyMMddHHmmss 形式で指定します｡
    パラメータ:
      `ymd` - 日付け文字列(yyyyMM)
      `format` - 加算する月数(過去にするにはﾏｲﾅｽ値を指定する)
    戻り値:
      指定の日付文字列を指定の形式の文字列に変換
    変更履歴:
      7.0.1.2 (2018/11/04) 新規登録
    このﾒｿｯﾄﾞは、nullを返しません

  - ### stepYM

    public static String[] stepYM(String begin, String end, int step)
    指定の年月文字列のFrom-Toを､文字列の配列で返します｡ "yyyyMM" 形式の範囲内の文字列配列を作成します｡ ※ endがnullの場合は､beginそのものを配列にｾｯﾄして返します｡ つまり､1件のみの配列になります｡ ※ end == beginの場合は､配列は､ｾﾞﾛ個の配列になります｡
    パラメータ:
      `begin` - 開始の年月(含む)
      `end` - 終了の年月(含まない)
      `step` - 加算する月数
    戻り値:
      指定の年月文字列のFrom-Toを､文字列の配列で返す
    変更履歴:
      7.0.5.0 (2019/09/09) 新規追加
    このﾒｿｯﾄﾞは、nullを返しません