JavaツールのDateUtilsの日の説明(RPM)

共通lang3ジャーappache

まず、指定した日付、月、週、日、時、分、秒、ミリ秒の新年

パブリック静的日addDays(日付、int型の量)
日付日付=新しいDate();
System.out.println(DateUtil.dateToString(日付"YYYY-MM-DD HH:MM:SS"));
日付= DateUtils.addDays(日付、1)。
System.out.println(DateUtil.dateToString(日付"YYYY-MM-DD HH:MM:SS"));

结果是。

2018年1月23日11時53分49秒
ここでコードの一部を書かれた2018年1月24日11時53分49秒

、元の日付が変わらず、数日間のリターンに新しい目標期日を追加する場合:
パラメータ:タのデータ日付、空でもよいです。添加amount-量は、複素数値であってもよい;
戻り値:戻り新しい日付、不変元の日付、
例外をスロー:はIllegalArgumentException、日付がnullの場合、

パブリック静的addHours日付(日付、日付、INT量)
日付=新しい新A日();
のSystem.out.println(DateUtil.dateToString(DATE、 "MM-DD-YYYY HH:MM:SS"));
DATE = DateUtils.addHours(DATE ,. 1)
のSystem.out.println(DateUtil.dateToString (日付"YYYY-MM- DD HH:MM:SS"));

結果:

2018年1月23日11時58分26秒
2018年1月23日12時58分26秒

説明:変わらず、新しいターゲット返却日に元の日付を数時間を追加します。
パラメータ:タのデータの日付は、空であってもよく、付加amount-量は、複素数値であってもよく、
戻り値:新しい日付、そのまま元の日付を返します。
例外をスロー:日付がnullの場合、はIllegalArgumentExceptionを、

パブリック静的のAddMinutesを日付(DATE日付、int型の量)
日付=新しい新しいA日付();
システム.out.println(DateUtil.dateToString(DATE、 "MM-DD-YYYY HH:MM:SS"));
DATE = DateUtils.addMinutes(DATE ,. 1)
のSystem.out.println(DateUtil.dateToString(DATE、「 YYYY-MM-DD HH:MM :SS「));

結果:

2018年1月23日午後1時04分05秒
2018年1月23日午後01時〇五分05秒

説明:数分間新しい返却日オブジェクトを追加し、そのまま元の日付;
パラメータ:タのデータの日付は、空であってもよく、amount-を追加します量は、複素数値であってもよく、
戻り値:新しい日付、そのまま元の日付を返します。
例外をスロー:日付がnullの場合、はIllegalArgumentExceptionを、

パブリック静的のAddSecondsを日付(DATE日付、int型の量)
日付=新しい新しいA日付();
システム.out.println(DateUtil.dateToString(DATE、 "MM-DD-YYYY HH:MM:SS"));
DATE = DateUtils.addSeconds(DATE ,. 1)
のSystem.out.println(DateUtil.dateToString(DATE、「 YYYY-MM-DD HH:MM :SS「));

結果:

2018年1月23日午後1時06分42秒
2018年1月23日午後01時06分43秒

説明:数秒間の新しい返却日オブジェクトを追加し、そのまま元の日付;
パラメータ:タのデータの日付は、空であってもよく、amount-を追加します量は、複素数値であってもよく、
戻り値:新しい日付、そのまま元の日付を返します。
例外をスロー:日付がnullの場合、はIllegalArgumentExceptionを、

パブリック静的のAddMillisecondsを日付(DATE日付、int型の量)
日付=新しい新しいA日付();
システム.out.println(DateUtil.dateToString(DATE、 "MM-DD-YYYY HH:MM:SS:SSS"));
DATE = DateUtils.addMilliseconds(DATE ,. 1)
のSystem.out.println(DateUtil.dateToString(DATE "YYYY-MM-DD HH :MM:SS:SSS"));

結果:

2018-01-2313:10:26 6:579
2018-01-2313:10:26:580

:新しいターゲット返却日に数ミリ秒を追加する場合は、オリジナルそのままの日付;
パラメータ:日付日付は、空白であってもよく、添加amount-量は、複素数値であってもよい;
戻り値:戻り新しい日付、不変元の日付、
例外をスロー:はIllegalArgumentException、日付がnullの場合、

パブリック静的addYears日付(日付、日付、INT量)
日付=新しい新A日();
のSystem.out.println(DateUtil.dateToString(DATE、 "MM-DD-YYYY HH:MM:SS:SSS"));
DATE = DateUtils.addYears(DATE ,. 1)
のSystem.out.println(DateUtil .dateToString(日付、 "YYYY-MMは :MM:SS:HH -dd SSSを"));

結果:

2018-01-2313:12:44:742
2019-01-2313:12:44:742

:数年に新しい返却日対象を追加する場合、元の同じ日;
パラメータ:日付日付は、空白であってもよいです。添加amount-量は、複素数値であってもよい;
戻り値:戻り新しい日付、不変元の日付、
例外をスロー:はIllegalArgumentException、日付がnullの場合、

パブリック静的addMonths日付(日付、日付、INT量)
日付=新しい新A日();
のSystem.out.println(DateUtil.dateToString(DATE、 "MM-DD-YYYY HH:MM:SS:SSS"));
DATE = DateUtils.addMonths(DATE ,. 1)
のSystem.out.println(DateUtil .dateToString(日付、 "YYYY-MMは :MM:SS:HH -dd SSSを"));

結果:

2018-01-2313:14:13:354
2018-02-2313:14:13:354

説明:年の数、そのまま元の日付に新しい返却日の件名を追加します。
パラメータ:タのデータの日付は、空でもよいです。添加amount-量は、複素数値であってもよい;
戻り値:戻り新しい日付、不変元の日付、
例外をスロー:はIllegalArgumentException、日付がnullの場合、

パブリック静的addWeeks日付(日付、日付、INT量)
日付=新しい新A日();
のSystem.out.println(DateUtil.dateToString(DATE、 "MM-DD-YYYY HH:MM:SS:SSS"));
DATE = DateUtils.addWeeks(DATE ,. 1)
のSystem.out.println(DateUtil .dateToString(日付、 "YYYY-MMは :MM:SS:HH -dd SSSを"));

結果:

2018-01-2313:15:21:608
2018-01-3013:15:21:608

の説明:数週間戻り日付が新しいターゲットに追加され、元の同じ日;
パラメータ:日付日付は、空白であってもよいです。追加amount-量は複素数値であってもよく、
戻り値:新しい日付、そのまま元の日付を返します。
例外をスロー:日付がnullの場合、はIllegalArgumentExceptionを、

第二、中年セット日、月、日、時、分、秒、ミリ秒単位で指定された数値であります

パブリック静的日setYears(日付、int型の量)
日付日付=新しいDate();
System.out.println(DateUtil.dateToString(日付"YYYY-MM-DD HH:MM:SS:SSS"))。
日付= DateUtils.setYears(日付、2015);
System.out.println(DateUtil.dateToString(日付"YYYY-MM-DD HH:MM:SS:SSS"));

结果。

2018-01-2313:24:13:838
2015-01-2313:24:13:838

の説明:日付フィールドは中年設定し、新たな目標日付を返し、元の値の日付が変更されない;
パラメータ:日付、日付; amount-設定値、非負の値であり、nullにすることができない
戻り値:新しいターゲット日付、
例外を例外:IllegalArgumentException、日付は、負またはnullの場合、

パブリック静的setMonths日付(日付、日付、INT AMOUNT)
日付日付新しい新=();
のSystem.out.println(DateUtil.dateToString(DATE、 "MM-DD-YYYY HH:MM:SS:SSS"));
DATE = DateUtils.setMonths(DATE ,. 11)
のSystem.out。 println(DateUtil.dateToString(日付"YYYY -MM-DD HH:MM:SS:SSS"));

結果:

2018-01-2313:30:28:161
2018-12-2313:30:28:161

の説明:月のフィールドは、新しい日付と戻り日付オブジェクトに設定され、元の値の日付が変更されていません。
パラメータ:日付日付ヌルにすることはできません。amount-設定値、非負、及び0-11の値;
戻り値:新しいターゲット日付、
例外を例外:IllegalArgumentException、日付が負またはnullの場合、

パブリック静的setDays日付(年月日DATE、INT量)
日=新しい新しいDATE日付();
のSystem.out.println(DateUtil.dateToString(DATE、 "MM-DD-YYYY HH:MM:SS:SSS"));
DATE = DateUtils.setDays(DATE、 。11);
のSystem.out.println(DateUtil.dateToString(DATE、 "MM-DD-YYYY HH:MM:SS:SSS"));

結果:

2018-01-2313:33:41:587
2018-01-1113:33:41:587

説明:日付や曜日を設定し、元の値の日付が変更されていない、新しいターゲット日付を返します。
パラメータ:日付日付そしてnullにすることはできません。amount-設定値、非負、月の最大日数に値0;
戻り値:新しい目標期日、
例外が例外:IllegalArgumentException、日付が負の値またはnullの場合、

パブリック静的のsetHours日(日付、INT量)
日=新しい新しいDATE日付();
のSystem.out.println(DateUtil.dateToString(DATE、 "MM-DD-YYYY HH:MM:SS:SSS"));
DATE = DateUtils.setHours( DATE、16);
のSystem.out.println(DateUtil.dateToString(DATE、 "MM-DD-YYYY HH:MM:SS:SSS"));

結果:

2018-01-2313:36:01:860
2018-01-2316:36:01:860

注:日付と時間フィールドは、新しいターゲット日付を返すために、元の値の日付は変わらない;
パラメータ:日付、日付ヌルにすることはできません。amount-設定値、非負値、及び0〜23の値;
戻り値:新しいターゲット日付、
例外を例外:IllegalArgumentException、日付が負またはnullの場合、

パブリック静的setMinutes日付(年月日DATE、INT量)
日=新しい新しいDATE日付();
のSystem.out.println(DateUtil.dateToString(DATE、 "MM-DD-YYYY HH:MM:SS:SSS"));
DATE = DateUtils.setMinutes(DATE、 16)
のSystem.out.println(DateUtil.dateToString(DATE、 "MM-DD-YYYY HH:MM:SS:SSS"));

結果:

2018-01-2313:37:28:681
2018-01-2313:16:28:681

説明:日付と分フィールドに戻り、新たな目標日を設定し、元の値の日付は変わらない;
パラメータ:日付、日付ヌルにすることはできません。amount-設定値、非負値、及び0〜59の値;
戻り値:新しいターゲット日付、
例外を例外:IllegalArgumentException、日付が負またはnullの場合、

パブリック静的setSeconds日付(年月日DATE、INT量)
日=新しい新しいDATE日付();
のSystem.out.println(DateUtil.dateToString(DATE、 "MM-DD-YYYY HH:MM:SS:SSS"));
DATE = DateUtils.setSeconds(DATE、 10)
のSystem.out.println(DateUtil.dateToString(DATE、 "MM-DD-YYYY HH:MM:SS:SSS"));

結果:

2018-01-2313:39:19:946
2018-01-2313:39:10:946

説明:日付フィールドと第2の戻り新しいターゲット日を設定し、元の値の日付は変わらない;
パラメータ:日付、日付ヌルにすることはできません。amount-設定値、非負値、及び0〜59の値;
戻り値:新しいターゲット日付、
例外を例外:IllegalArgumentException、日付が負またはnullの場合、

パブリック静的setMillisecondsに日付(年月日DATE、INT量)
日=新しい新しいDATE日付();
のSystem.out.println(DateUtil.dateToString(DATE、 "MM-DD-YYYY HH:MM:SS:SSS"));
DATE = DateUtils.setMilliseconds(DATE、 10)
のSystem.out.println(DateUtil.dateToString(DATE、 "MM-DD-YYYY HH:MM:SS:SSS"));

結果:

2018-01-2313:40:38:666
2018-01-2313:40:38:010

の説明:ミリ秒単位で日付フィールドを設定し、新しいターゲット日付を返し、元の値の日付が変更されない;
パラメータ:日付、日付そしてnullにすることはできません。amount-設定値、非負の値、および0から999までの値;
戻り値:新しい目標期日、
例外が例外:IllegalArgumentException、日付がnullまたは負の場合、

第三には、同じ日付かどうかを確認します

isSameDayブールのpublic static(日付DATE1、日付日付2)
日付日付1 =新しいDate();
日付日付2 =新しいDate();
System.out.println(DateUtils.isSameDay(日付1、日付2));

结果:

真の

説明:二つの日付は、同じ日に、オブジェクトが時間を無視するかどうかを確認する。(2002年3月28日13時45分28 Marの2002年の6:01 falseを返す場合は、trueを2002年3月28日13時45分と2002年3月12日13時45分を返しますが...)
パラメータ:date1-最初のパラメータは非空で、変更することはできません。date2- 2つ目のパラメータは、null以外に変更することはできません。
戻り値:trueの場合、同じ日に2つの日付の場合、
例外がスローされます:日付がある場合、IllegalArgumentExceptionをヌルであり、

パブリック静的ブールisSameDay(カレンダーCAL1、CAL2カレンダー)
カレンダーCalendar.getInstance CAL1 =();
カレンダーCalendar.getInstance CAL2 =();
のSystem.out.println(DateUtils.isSameDay(CAL1、CAL2));

結果:


注:チェック2つの日付は時間無視同じ日にオブジェクトこと;(2002年3月28日13時45分および28 。2002年3月に6時01にはfalseを返す場合は、trueを2002年3月28日13時45分と2002年3月12日13:45を返します)
パラメータ: date1-最初のパラメータは非空で、変更することはできません。date2- 2つ目のパラメータは、null以外に変更することはできません。
戻り値:trueの場合、同じ日に2つの日付の場合、
例外がスローされます:IllegalArgumentExceptionがnullの日付がある場合;

パブリック静的ブールisSameInstant(日付DATE1、DATE2日)
日=新しい新しい日付1日付();
日付1 = DateUtils.addMinutes(DATE1、23である。);
日付=新しい新DATE2日();
System.out.printlnは(DateUtils.isSameInstant(日付1 、DATE2));

結果:



説明:2つのオブジェクトが同じ時刻日付を表すかどうかをチェックし、この方法の日付が2ミリ秒の比較的正確であり;
パラメータ:date1-最初のパラメータが空でない、変更することができない。date2-第2のパラメータは、変更することができない、非NULL;
戻り値:2つの同じ日付の代表ミリ秒の時間がいる場合はtrue;
例外が例外:IllegalArgumentExceptionが日付がある場合はnullです。

パブリック静的ブールisSameInstant(カレンダーCAL1、CAL2カレンダー)
カレンダーCalendar.getInstance CAL1 =();
日付= DateUtils.addHours date3(cal1.getTime()、12である);
cal1.setTime(date3);
カレンダーCalendar.getInstance CAL2 =();
のSystem.out.println(DateUtils.isSameInstant(CAL1、CAL2));

結果:



説明:2つのオブジェクトが同じ時刻日付を表すかどうかをチェックし、この方法の日付が2ミリ秒の比較的正確であり;
パラメータ:date1-最初のパラメータが空でない、変更することができない。date2-第2のパラメータは、変更することができない、非NULL;
戻り値:2つの同じ日付の代表ミリ秒の時間がいる場合はtrue;
例外が例外:IllegalArgumentExceptionが日付がある場合はnullです。

パブリック静的ブールisSameLocalTime(カレンダーCAL1、CAL2カレンダー)
カレンダーCalendar.getInstance CAL1 =();
カレンダーCAL2 = Calendar.getInstance();

System.out.println(DateUtils.isSameLocalTime(CAL1、CAL2));

结果:

真の
説明2つのカレンダオブジェクトが同一のローカル時間を表すチェックは、フィールド値のこの方法は、2つのオブジェクトを比較し、二つの追加のカレンダーは、同じタイプのカレンダーでなければならない;
パラメータ:cal1-最初のパラメータは変更することができない、非空; cal2-第二のパラメータは、非ヌルを変更することができない;
戻り値:trueの場合、二つの日付は、ミリ秒単位で同じ時刻を表す場合は、
例外を例外:IllegalArgumentExceptionが日付がnullの場合。

 

まず、日付フォーマット

パブリック静的日はparsedata(文字列str、ロケールのロケール、文字列... parsePatterns)

説明:別のパーサを試みることによって、ロケールを指定したデフォルトの日付フォーマット記号を使用するには、各解析モードをしようとする解析する日付を表す文字列です。入力文字列全体を解析することに成功しているときにのみ解決考えられています。あなたは、パターンマッチング、スロースローはParseExceptionが解決しない場合は、パーサは、冗長性の日付を解決されます。
パラメータ:str-変換日付、非ヌル; parsePatterns-日付フォーマットモードあなたがのSimpleDateFormat、null以外を表示するために使用します。ローカル-ロケールの日付フォーマット記号必要があります。空の場合は、システム・フィールド・アプリケーション(はparsedataあたり(文字列、文字列...)) 。
戻り値のデータ:日付は、オブジェクトを変換し、
例外をスロー:データ列はIllegalArgumentException parsePatternsモード場合はnull; ParseException-を一切日付形式は、データ列に準拠していない場合は、

DateUtils.parseDate(「2017年12月16日15:26: 56は"Locale.CHINA、" MM-DD-YYYY HH:MM:SS「)
土に12月16日15時26分56秒2017 CST

パブリック静的はparsedata日(STR文字列、文字列... parsePatterns)

説明:日付を表す文字列である様々なパーサを試みることによって、解析が各解析モードをしようとします。入力文字列全体を解析することに成功しているときにのみ解決考えられています。あなたはパターンマッチングが解決しない場合は、スローはParseExceptionがスロー。
パラメータ:STR-変換日付、非ヌル;てSimpleDateFormat、非ヌルを表示するために使用されるparsePatterns-日付形式モデル、
リターンデータ:日付、オブジェクトを変換し、
例外がスロー:データ列がヌルまたはモードparsePatterns場合IllegalArgumentExceptionを; ParseException-ない日付フォーマットがデータ列に準拠していないが存在する場合、

(「2017年12月16日午後03時26分56秒」、「MM-DD-YYYY HH:MM:SS」)DateUtils.parseDate
土で12月16日午後03時26分56秒2017 CST

のpublic static parseDateStrictly日(文字列str、文字列... parsePatterns)

説明:パターンマッチングを解決しない場合は、日付を表す文字列は、唯一の完全な入力文字列の解析時間で解決各解析モードを、しようとする解像度は、成功したとみなされる別のパーサの多様性をしようとすることにより、これは、例外をスローします。パーサ厳格な解析は、このような「2月942、1996」として許可していません。
パラメータ:; str-日付文字列の入力、非ヌル; parsePatterns-日付フォーマット変換、非ヌル
変換後:戻り値Dateオブジェクトは、
例外がスローされます:IllegalArgumentException-もしデータ列またはparsePatternsモードがnull; ParseException-なし日付形式は、データ列に準拠していない場合は、

2、日付の丸め

パブリック静的日付ラウンド(日付、int型のフィールド)

注:;より日付、大きな丸めまたは日付を指定したフィールドを保持するように等しくする日付2002年3月28日13を有する場合、例えば、:45:01.231 、 着信HOUR場合、結果がされる2002年3月28日14:00:00.000 、 着信場合00:MONTHは、2002年4月1日0返され00.000を ;
パラメータ:タのデータ変換日付、フィールド-丸めフィールド、例えば:Calendar.DATE、Calendar.MINUTE;
戻り値:異なる丸め日付、非ヌル。

----------------
免責事項:この記事は、風のY-Y「元の記事CSDNブロガー」で、CC 4.0 BY-SAの著作権契約書に従って、再現し、元のソースとのリンクを添付してくださいこの文。
オリジナルリンクします。https://blog.csdn.net/yaomingyang/article/details/79138466

おすすめ

転載: www.cnblogs.com/muxi0407/p/11947562.html