java8 LocalTime

介绍

用来处理 时间 的类,不包含 日期,默认的格式是 hh:mm:ss.nnn

实例化

当前时间

LocalTime time=LocalTime.now();

指定日期

LocalTime time=LocalTime.of(9,30,50);

获取时分秒

System.out.println(time.getHour());
System.out.println(time.getMinute());
System.out.println(time.getSecond());

格式化成字符串

通过 DateTimeFormatter 格式化

DateTimeFormatter是 线程安全 的,比 SimpleDateFormat 格式化时间更好

方式一

LocalTime time=LocalTime.now();
DateTimeFormatter df=DateTimeFormatter.ofPattern("HH:mm:ss");
String timeStr=time.format(df);
System.out.println(timeStr);

方式二

LocalTime time=LocalTime.now();
DateTimeFormatter df=DateTimeFormatter.ofPattern("HH:mm:ss");
String timeStr2=df.format(time);
System.out.println(timeStr2);

将字符串解析成对象

DateTimeFormatter df=DateTimeFormatter.ofPattern("HH:mm:ss");
LocalTime time=LocalTime.parse("15:37:09",df);

System.out.println(time);

时间计算

计算后,返回结果,原对象不变

加法

返回新对象,原对象不变

// 下一小时
localTime.plusHours(1);
// 下一分钟
localTime.plusMinutes(1);
// 下一秒
localTime.plusSeconds(1);

减法

// 上一小时
localTime.minusHours(1);
// 上一分钟
localTime.minusMinutes(1);
// 上一秒
localTime.minusSeconds(1);

案例

LocalTime time=LocalTime.now();
//1个小时后,返回计算后的结果
LocalTime res=time.plusHours(1);
String s=res.format(DateTimeFormatter.ofPattern("HH:mm:ss"));
System.out.println(s);

时间判断

// 是否相等
localTime.equals(localTime1);
// 是否早于
localTime.isBefore(localTime1);
// 是否晚于
localTime.isAfter(localTime1);

时间设置

返回新对象,原对象不变

// 设置小时
localTime.withHour(13);
// 设置分钟
localTime.withMinute(14);
// 设置秒
localTime.withSecond(0);
// 设置毫秒
localTime.withNano(0);

原文出处:/show_1IX35cAJDrco.html