public final class DateUtil extends Object
| 修飾子とタイプ | メソッドと説明 |
|---|---|
static String |
addDay(String date,
int days)
指定された日付(yyyyMMdd形式)を指定された日数分加減算する。
|
static String |
addMonth(String date,
int month)
指定された日付(yyyyMMdd or yyyyMM形式)を指定された月数分加減算する。
|
static String |
formatDate(Date date,
String format)
このメソッドは
ThreadContextから取得したロケールを指定して
DateUtil.formatDate(Date, String, Locale)を呼び出す。 |
static String |
formatDate(Date date,
String format,
Locale locale)
指定されたフォーマットとロケールを使用して日付を変換する。
|
static String |
formatDate(String date,
String pattern)
日付文字列(yyyyMMdd形式)を指定された形式でフォーマットする。
|
static Date |
getDate(String date)
日付文字列(yyyyMMdd形式)から
java.util.Dateクラスのインスタンスを取得する。 |
static long |
getDays(String dateFrom,
String dateTo)
指定された日付間の日数を取得する。
|
static String |
getMonthEndDate(String date)
指定された日付(yyyyMMdd or yyyyMM形式)の月末日を取得する。
|
static int |
getMonths(String monthFrom,
String monthTo)
指定された日付(yyyyMMdd or yyyyMM形式)間の月数を取得する。
|
static String |
getNumbersOnlyFormat(String yyyyMMddFormat)
フォーマット文字列から年月日の区切り文字を取り除いた値を返す。
|
static Date |
getParsedDate(String date,
String format)
このメソッドはロケールに
Locale#getDefault()を使用して DateUtil.getParsedDate(String, String, Locale)を呼び出す。 |
static Date |
getParsedDate(String date,
String format,
Locale locale)
dateをformat形式でパースした結果の
java.util.Dateインスタンスを返却する。 |
static boolean |
isValid(String date,
String format)
このメソッドはロケールに
Locale#getDefault()を使用して、DateUtil.isValid(String, String, Locale)を呼び出す。 |
static boolean |
isValid(String date,
String format,
Locale locale)
指定された日付文字列がフォーマットどおりであり、実在する日であることをバリデーションする。
|
@Published public static Date getDate(String date)
java.util.Dateクラスのインスタンスを取得する。date - 日付文字列(yyyyMMdd形式)java.util.DateクラスのインスタンスIllegalArgumentException - 日付文字列のフォーマットが yyyyMMdd形式ではなかった場合@Published public static String formatDate(String date, String pattern)
date - フォーマット対象の日付文字列(yyyyMMdd形式)pattern - 日付のフォーマットを記述するパターン(yyyy/MM/ddなど。java.text.SimpleDateFormat参照)IllegalArgumentException - 日付文字列のフォーマットが yyyyMMdd形式ではなかった場合@Published public static String addDay(String date, int days)
date - 日付文字列(yyyyMMdd形式)days - 加減算する日数(負の値の場合は、減算を行う。)@Published public static String addMonth(String date, int month)
date - 日付文字列(yyyyMMdd or yyyyMM形式)month - 加減算する月数(負の値の場合は、減算を行う。)@Published public static long getDays(String dateFrom, String dateTo)
dateFrom - 開始日付文字列(yyyyMMdd形式)dateTo - 終了日付文字列(yyyyMMdd形式)@Published public static int getMonths(String monthFrom, String monthTo)
DateUtil.getMonths("201102", "201103"); //--> 1
monthFrom - 開始日付文字列(yyyyMMdd or yyyyMM形式)monthTo - 終了日付文字列(yyyyMMdd or yyyyMM形式)@Published public static String getMonthEndDate(String date)
date - 日付(yyyyMMdd or yyyyMM形式)@Published public static boolean isValid(String date, String format)
date - バリデーション対象日付文字列format - フォーマットtrueIllegalArgumentException - dateがnullか、formatがnullまたは空文字の場合@Published public static boolean isValid(String date, String format, Locale locale)
SimpleDateFormatにて定められたフォーマットを指定する。
例)
//2016年3月31日は存在するため、true。
DateUtil.isValid("20160331", "yyyyMMdd"); //--> true
//2016年3月32日は存在しないため、false。
DateUtil.isValid("20160332", "yyyyMMdd"); //--> false
date - バリデーション対象日付文字列format - フォーマットlocale - フォーマットに使用するロケールtrueIllegalArgumentException - dateがnullか、formatがnullまたは空文字の場合@Published(tag="architect") public static Date getParsedDate(String date, String format)
Locale#getDefault()を使用して DateUtil.getParsedDate(String, String, Locale)を呼び出す。date - パース対象日付文字列format - 日付文字列フォーマットjava.util.DateインスタンスIllegalArgumentException - dateがnullか、formatがnullまたは空文字の場合@Published(tag="architect") public static Date getParsedDate(String date, String format, Locale locale)
java.util.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 - フォーマットに使用するロケールjava.util.DateインスタンスIllegalArgumentException - dateがnullか、formatがnullまたは空文字の場合@Published(tag="architect") public static String getNumbersOnlyFormat(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 String formatDate(Date date, String format)
ThreadContextから取得したロケールを指定して
DateUtil.formatDate(Date, String, Locale)を呼び出す。date - 日付(null不可)format - フォーマット(null不可)@Published(tag="architect") public static String formatDate(Date date, String format, 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 - ロケールIllegalArgumentException - 日付、フォーマット、ロケールがnullの場合、または日付の変換に失敗した場合