更新时间:2021年08月31日13时40分 来源:传智教育 浏览次数:
LocalTime类用来表示时间,通常表示的是小时、分钟、秒。与LoalDatle类一样,该类不能代表时间线上的即时信息,只是时间的描述。在LocalTime类中提供了获取时间对象的方法,与LoalDate用法类似,这里不再列举。
同时,LocalTime类也提供了与日期类相对应的时间格式化、增减时分秒等常用方法,这些方法与日期类相对应,这里不再详细列举。下面通过一个案例来学习LocalTime类的方法,如文件5-22所示。
文件5-22 Example22.java
import java.Time.format.DateTimeFormatter; public class Example22 public static void main (String[] args) { LocalTime time = LocalTime.now () ; LocalTime of = LocalTime.of (9,23,23); System.out.println("从LocalTime获取的小时为: "+time.getHour() ); System. out.println ("将获取到的Loacaltime实例格式化为: "十 time. format (DateTimeFormatter. ofPattern (HH:mm:ss") ) ) System.out.println("判断时间of是否在now之前,+of.isBefore (time) System.out.printin ("将时间字符串解析为时间对象后为:“+ LocalTime.parse(“12:15:30”) System.out.println ("从LocalTime获取当前时间,不包含毫秒数: "+ time.WithNano(0) );
文件5-22中调用了几个LocalTime的方法。需要注意的是,当使用parse ( )方法解析字符串时,该字符串要符合默认的时、分、秒格式要求。通过文件5-22可以看出,LocalTime类的方法的使用与LocalDate基本一样。
LocalDateTime类是LocalDate类与LocalTime类的综合,它既包含日期,也包含时间,通过查看API可以知道,LocalDateTime类中的方法包含了LocalDate类与LocalTime类的方法。
需要注意的是,LocalDateTime默认的格式是2020-02-29T21:23:26.774, 这可能与人们经常使用的格式不太符合,所以它经常与DateTimeFormatter一起使用指定格式,除了LocalDate与LocalTime类中的方法外,还额外提供了转换的方法。下面通过一个案例来学习LocalDateTime 类中特有的方法,如文件5-23所示。
文件5-23 Example23.java
import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class Example23 public static void main(String[] args) { LocalDateTime now = LocalDateTime .now () ; out.println ("获取的当前日期时间为: "+now); system.out.println("将目标LocalDateTime转换为相应的LocalDate实例:"+ now. toLocalTime () ) ; DateTimeFormatter ofPattern = DateTimeFormatter.ofPattern ("yyyy年mm月dd日hh时mm分ss秒”) System.out.println"(格式化后的日期时间为: "+now.format(ofPattern) );
在文件5-3中,第6行代码定义了一个名称为now的LocalDateTime实例,第7行代码直接打印当前日期now,第8~9行代码使用LocalDateTime的toLocalDate( )方法将now转换为相应的LocalDate实例,第10~11行代码使用toLocalTime( )方法将now转换为相应的LocalTime 实例,第13~14行代码使用DateTimeFormatter的ofPattern( )方法将时间格式指定为“yyy 年mm月dd日hh时mm分ss秒”,第15行代码使用LocalDateTime的format( )方法将now的时间按指定格式打印。