介绍
用来处理 时间 的类,不包含 日期,默认的格式是 hh
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);