Last active
December 16, 2015 10:18
-
-
Save YukiYoshikawa/5418761 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package trial.yy.java8.client.datetime; | |
import java.time.DateTimeException; | |
import java.time.LocalDate; | |
import java.time.Month; | |
import java.time.Period; | |
import java.time.format.DateTimeFormatter; | |
/** | |
* java8 java.time.LocalDateを試すためのサンプル | |
* User: yy | |
* Date: 13/04/19 | |
* Time: 22:30 | |
*/ | |
public class Java8LocalDateClient { | |
public static void main(String[] args) { | |
// 現在日付 | |
LocalDate date1 = LocalDate.now(); | |
// 現在日付がyyyy-MM-dd 形式で出力される | |
System.out.println("date1 : " + date1); | |
// 年月日を全て数値で指定(月をそのままの数値で指定できるの良いね(ex. 12月なら12と指定)) | |
LocalDate date2 = LocalDate.of(2013, 12, 31); | |
// 2013-12-31 と出力される | |
System.out.println("date2 : " + date2); | |
// Monthを用いて指定 | |
LocalDate date3 = LocalDate.of(2013, Month.JUNE, 1); | |
// 2013-06-01 と出力される | |
System.out.println("date3 : " + date3); | |
// 2013-01-31を生成 | |
LocalDate date4 = LocalDate.of(2013, 1, 31); | |
System.out.println("date4 : "); | |
// 年・月・日・曜日を個別に取り出す | |
System.out.println(" 年:" + date4.getYear()); | |
System.out.println(" 月:" + date4.getMonth()); | |
System.out.println(" 日:" + date4.getDayOfMonth()); | |
System.out.println(" 曜日:" + date4.getDayOfWeek()); | |
// 加減算してみる(以下例は日の加減算ですが、月、年用のメソッドもあります) | |
LocalDate date5 = LocalDate.of(2013, 1, 31); | |
System.out.println(date5 + "の1日後: " + date5.plusDays(1)); | |
System.out.println(date5 + "の40日後: " + date5.plusDays(40)); | |
System.out.println(date5 + "の1日前: " + date5.minusDays(1)); | |
System.out.println(date5 + "の40日前: " + date5.minusDays(40)); | |
LocalDate date6 = LocalDate.of(2013, 1, 1); | |
// 7日間を加算してみる(Durationを引数に指定するとDateTimeExceptionが発生します) | |
System.out.println(date6 + "の7日後: " + date6.plus(Period.ofDays(7))); | |
// 7日間を減算してみる(Durationを引数に指定するとDateTimeExceptionが発生します) | |
System.out.println(date6 + "の7日前: " + date6.minus(Period.ofDays(7))); | |
// 日付文字列からparseしてみる | |
LocalDate date7 = LocalDate.parse("2013/07/07", DateTimeFormatter.ofPattern("yyyy/MM/dd")); | |
System.out.println("date7 : " + date7); | |
System.out.println("###"); | |
// 存在しない2013年2月30日とか指定するとDateTimeExceptionがスローされる | |
// (DateTimeExceptionは実行時例外なのも今っぽい気がします) | |
try { | |
LocalDate.of(2013, Month.FEBRUARY, 30); | |
} catch (DateTimeException e) { | |
e.printStackTrace(); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment