Skip to content

Instantly share code, notes, and snippets.

@YukiYoshikawa
Last active December 16, 2015 10:19
Show Gist options
  • Save YukiYoshikawa/5418923 to your computer and use it in GitHub Desktop.
Save YukiYoshikawa/5418923 to your computer and use it in GitHub Desktop.
package trial.yy.java8.client.time;
import java.time.DateTimeException;
import java.time.Duration;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
/**
* java8 java.time.LocalTimeを試すためのサンプル
* User: yy
* Date: 13/04/19
* Time: 22:30
*/
public class Java8LocalTimeClient {
public static void main(String[] args) {
// 現在時刻
LocalTime time1 = LocalTime.now();
System.out.println("time1 : " + time1);
// 時・分を指定(23時59分)
LocalTime time2 = LocalTime.of(23, 59);
System.out.println("time2 : " + time2);
// 時・分・秒を指定(0時1分2秒)
LocalTime time3 = LocalTime.of(0, 1, 2);
System.out.println("time3 : " + time3);
// 時・分・秒・ナノ秒指定(23時59分59秒10ナノ秒)
LocalTime time4 = LocalTime.of(23, 59, 59, 59);
System.out.println("time4 : " + time4);
// 12時30分20秒を生成
LocalTime time5 = LocalTime.of(12, 30, 20);
System.out.println("time5 : ");
// 時・分・秒・ナノ秒を個別に取り出す
System.out.println(" 時:" + time5.getHour());
System.out.println(" 分:" + time5.getMinute());
System.out.println(" 秒:" + time5.getSecond());
System.out.println(" ナノ秒:" + time5.getNano());
// 秒・分・時間を加減算してみる
LocalTime time6 = LocalTime.of(12, 30, 20);
System.out.println(time6 + "の10秒後: " + time6.plusSeconds(10));
System.out.println(time6 + "の30分後: " + time6.plusMinutes(30));
System.out.println(time6 + "の1時間後: " + time6.plusHours(1));
System.out.println(time6 + "の30秒前: " + time5.minusSeconds(30));
System.out.println(time6 + "の3分前: " + time5.minusMinutes(3));
System.out.println(time6 + "の13時間前: " + time5.minusHours(13));
LocalTime time7 = LocalTime.of(11, 22, 33);
// 7分間を加算・減算してみる
System.out.println(time7 + "の7分後: " + time7.plus(Duration.ofMinutes(7)));
System.out.println(time7 + "の7分前: " + time7.minus(Duration.ofMinutes(7)));
// 時刻文字列からparseしてみる
LocalTime time8 = LocalTime.parse("12:34:56", DateTimeFormatter.ofPattern("HH:mm:ss"));
System.out.println("time8 : " + time8);
System.out.println("###");
// 存在しない23時61分0秒とか指定するとDateTimeExceptionがスローされる
try {
LocalTime.of(23, 61, 0);
} catch (DateTimeException e) {
e.printStackTrace();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment