public final class DateUtil
extends java.lang.Object
| Modifier and Type | Method and Description | 
|---|---|
static java.lang.String | 
addDay(java.lang.String date,
      int days)
指定された日付(yyyyMMdd形式)を指定された日数分加減算する。 
負の値が指定された場合は、減算を行う。 例)addDay("19991231", 1) //--> "20000101"  | 
static java.lang.String | 
addMonth(java.lang.String date,
        int month)
指定された日付(yyyyMMdd or yyyyMM形式)を指定された月数分加減算する。 
負の値が指定された場合は、減算を行う。 例)addMonth("19991231", 1) //--> "20000131"  | 
static java.lang.String | 
formatDate(java.util.Date date,
          java.lang.String format)
このメソッドは 
ThreadContextから取得したロケールを指定して
 formatDate(Date, String, Locale)を呼び出す。 | 
static java.lang.String | 
formatDate(java.util.Date date,
          java.lang.String format,
          java.util.Locale locale)
指定されたフォーマットとロケールを使用して日付を変換する。
 
 指定するフォーマットは 
SimpleDateFormatの仕様に準拠すること。
 
 例:
  | 
static java.lang.String | 
formatDate(java.lang.String date,
          java.lang.String pattern)
日付文字列(yyyyMMdd形式)を指定された形式でフォーマットする。 
 | 
static java.util.Date | 
getDate(java.lang.String date)
日付文字列(yyyyMMdd形式)から 
Dateクラスのインスタンスを取得する。 | 
static long | 
getDays(java.lang.String dateFrom,
       java.lang.String dateTo)
指定された日付間の日数を取得する。 
例)getDays("19991231", "20000101") //--> 1  | 
static java.lang.String | 
getMonthEndDate(java.lang.String date)
指定された日付(yyyyMMdd or yyyyMM形式)の月末日を取得する。 
 | 
static int | 
getMonths(java.lang.String monthFrom,
         java.lang.String monthTo)
指定された日付(yyyyMMdd or yyyyMM形式)間の月数を取得する。
 
 例) 
 DateUtil.getMonths("201102", "201103"); //--> 1
  | 
static java.lang.String | 
getNumbersOnlyFormat(java.lang.String yyyyMMddFormat)
フォーマット文字列から年月日の区切り文字を取り除いた値を返す。 
 | 
static java.util.Date | 
getParsedDate(java.lang.String date,
             java.lang.String format)
このメソッドはロケールに 
Locale.getDefault()を使用して getParsedDate(String, String, Locale)を呼び出す。 | 
static java.util.Date | 
getParsedDate(java.lang.String date,
             java.lang.String format,
             java.util.Locale locale)
dateをformat形式でパースした結果の 
Dateインスタンスを返却する。
 dateがformat形式ではない場合、または実在しない日付である場合、nullを返却する。
 例) | 
static boolean | 
isValid(java.lang.String date,
       java.lang.String format)
 | 
static boolean | 
isValid(java.lang.String date,
       java.lang.String format,
       java.util.Locale locale)
指定された日付文字列がフォーマットどおりであり、実在する日であることをバリデーションする。 
フォーマットには SimpleDateFormatにて定められたフォーマットを指定する。
 例) | 
@Published public static java.util.Date getDate(java.lang.String date)
Dateクラスのインスタンスを取得する。date - 日付文字列(yyyyMMdd形式)Dateクラスのインスタンスjava.lang.IllegalArgumentException - 日付文字列のフォーマットが yyyyMMdd形式ではなかった場合@Published public static java.lang.String formatDate(java.lang.String date, java.lang.String pattern)
date - フォーマット対象の日付文字列(yyyyMMdd形式)pattern - 日付のフォーマットを記述するパターン(yyyy/MM/ddなど。SimpleDateFormat参照)java.lang.IllegalArgumentException - 日付文字列のフォーマットが yyyyMMdd形式ではなかった場合@Published public static java.lang.String addDay(java.lang.String date, int days)
date - 日付文字列(yyyyMMdd形式)days - 加減算する日数(負の値の場合は、減算を行う。)@Published public static java.lang.String addMonth(java.lang.String date, int month)
date - 日付文字列(yyyyMMdd or yyyyMM形式)month - 加減算する月数(負の値の場合は、減算を行う。)@Published public static long getDays(java.lang.String dateFrom, java.lang.String dateTo)
dateFrom - 開始日付文字列(yyyyMMdd形式)dateTo - 終了日付文字列(yyyyMMdd形式)@Published public static int getMonths(java.lang.String monthFrom, java.lang.String monthTo)
 DateUtil.getMonths("201102", "201103"); //--> 1
 monthFrom - 開始日付文字列(yyyyMMdd or yyyyMM形式)monthTo - 終了日付文字列(yyyyMMdd or yyyyMM形式)@Published public static java.lang.String getMonthEndDate(java.lang.String date)
date - 日付(yyyyMMdd or yyyyMM形式)@Published public static boolean isValid(java.lang.String date, java.lang.String format)
date - バリデーション対象日付文字列format - フォーマットtruejava.lang.IllegalArgumentException - dateがnullか、formatがnullまたは空文字の場合@Published public static boolean isValid(java.lang.String date, java.lang.String format, java.util.Locale locale)
SimpleDateFormatにて定められたフォーマットを指定する。
 例)
 //2016年3月31日は存在するため、true。
 DateUtil.isValid("20160331", "yyyyMMdd"); //--> true
 //2016年3月32日は存在しないため、false。
 DateUtil.isValid("20160332", "yyyyMMdd"); //--> false
 date - バリデーション対象日付文字列format - フォーマットlocale - フォーマットに使用するロケールtruejava.lang.IllegalArgumentException - dateがnullか、formatがnullまたは空文字の場合@Published(tag="architect") public static java.util.Date getParsedDate(java.lang.String date, java.lang.String format)
Locale.getDefault()を使用して getParsedDate(String, String, Locale)を呼び出す。date - パース対象日付文字列format - 日付文字列フォーマットDateインスタンスjava.lang.IllegalArgumentException - dateがnullか、formatがnullまたは空文字の場合@Published(tag="architect") public static java.util.Date getParsedDate(java.lang.String date, java.lang.String format, java.util.Locale locale)
Dateインスタンスを返却する。
 dateがformat形式ではない場合、または実在しない日付である場合、nullを返却する。
 例)
 //正常処理
 DateUtil.getParsedDate("20160307160112", "yyyyMMddHHmmss", Locale.JAPANESE); // Mon Mar 07 12:12:12 JST 2016
 //20160304(date)の形式が、yyyymm形式でないため、null。
 DateUtil.getParsedDate("20160304", "yyyyMM", Locale.JAPANESE); //--> null
 //2016年3月32日が存在しない日付のため、null。
 DateUtil.getParsedDate("20160332", "yyyyMMdd", Locale.JAPANESE); //--> null
 date - パース対象日付文字列format - 日付文字列フォーマットlocale - フォーマットに使用するロケールDateインスタンスjava.lang.IllegalArgumentException - dateがnullか、formatがnullまたは空文字の場合@Published(tag="architect") public static java.lang.String getNumbersOnlyFormat(java.lang.String yyyyMMddFormat)
フォーマットのパターン文字は、y(年)、M(月)、d(月における日)のみ指定可能。 フォーマット文字列に年月日の区切り文字が含まれない場合はnullを返す。 下記に「フォーマット文字列 //--> 戻り値」形式で例を示す。 "yyyy/MM/dd" //--> "yyyyMMdd" "yyyy-MM-dd" //--> "yyyyMMdd" "MM/dd/yyyy" //--> "MMddyyyy" "yyyyMMdd" //-->null
yyyyMMddFormat - フォーマット文字列@Published(tag="architect") public static java.lang.String formatDate(java.util.Date date, java.lang.String format)
ThreadContextから取得したロケールを指定して
 formatDate(Date, String, Locale)を呼び出す。date - 日付(null不可)format - フォーマット(null不可)@Published(tag="architect") public static java.lang.String formatDate(java.util.Date date, java.lang.String format, java.util.Locale locale)
SimpleDateFormatの仕様に準拠すること。
 
 例:
 
 Date date = Calendar.getInstance().getTime();              //--> 2012/11/13
 
 I18NUtil.formatDate(date, "yyyy/MMM/dd", Locale.JAPANESE); //--> 2012/11/13
 I18NUtil.formatDate(date, "dd MMM yyyy", Locale.ENGLISH);  //--> 13 Nov 2012
 
date - 日付format - フォーマットlocale - ロケールjava.lang.IllegalArgumentException - 日付、フォーマット、ロケールがnullの場合、または日付の変換に失敗した場合