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
- フォーマットtrue
IllegalArgumentException
- 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
- フォーマットに使用するロケールtrue
IllegalArgumentException
- 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
の場合、または日付の変換に失敗した場合