在Java8以前,Date日期API对我们非常的不友好,它无法表示日期,只能以毫秒的精度来表示时间,并且可以修改,他的线程还不是安全的。所以Java8中引入了全新的日期和时间API就是为了解决这一问题。
LocalTime 本地时间
LocalDate 本地日期
LocalDateTime 本地时间和日期
举例分析:LocalTime 本地时间
获取当前时间
package DATA; import java.time.LocalTime; import java.time.format.DateTimeFormatter; /** * @author yeqv * @program A2 * @Classname D3 * @Date 2022/2/10 11:31 * @Email w16638771062@163.com */ public class D3 { public static void main(String[] args) { //获取当前时间 LocalTime localTime = LocalTime.now(); System.out.println(localTime); //格式化输出当前时间 var dt = DateTimeFormatter.ofPattern("HH:mm:ss"); var a = dt.format(localTime); System.out.println(a); //分别获取时分秒 var b = localTime.getHour(); var c = localTime.getMinute(); var d = localTime.getSecond(); System.out.println(b + "时" + c + "分" + d + "秒"); } }
运行结果:
案例二:LocalDate 本地时间
package DATA; import java.time.LocalDate; import java.time.format.DateTimeFormatter; /** * @author yeqv * @program A2 * @Classname D4 * @Date 2022/2/10 11:54 * @Email w16638771062@163.com */ public class D4 { public static void main(String[] args) { //获取当前日期 LocalDate localDate = LocalDate.now(); var a = DateTimeFormatter.ofPattern("yyyy年MM月dd日"); System.out.println(a.format(localDate)); //分别获取年月日 var b = localDate.getYear(); var c = localDate.getDayOfMonth(); var d = localDate.getMonthValue(); System.out.println(b); System.out.println(c); System.out.println(d); } }
运行结果:
案例三:LocalDateTime 本地时间和日期
package DATA; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; /** * @author yeqv * @program A2 * @Classname D5 * @Date 2022/2/10 14:12 * @Email w16638771062@163.com */ public class D5 { public static void main(String[] args) { //获取当前时间和日期 LocalDateTime localDateTime = LocalDateTime.now(); System.out.println(localDateTime); //格式化输出当前时间和日期 var dt = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); var a = dt.format(localDateTime); System.out.println(a); //分别获取时分秒和年月日 var b = localDateTime.getHour(); var c = localDateTime.getMinute(); var d = localDateTime.getSecond(); System.out.println(b + "时" + c + "分" + d + "秒"); var E = localDateTime.getYear(); var F = localDateTime.getDayOfMonth(); var G = localDateTime.getMonthValue(); System.out.println(E + "年" + F + "月" + G + "日"); } }
运行结果:
package DATA; import java.time.DayOfWeek; import java.time.LocalDateTime; import java.time.ZoneId; import java.time.format.DateTimeFormatter; /** * @author yeqv * @program A2 * @Classname D2 * @Date 2022/2/10 11:08 * @Email w16638771062@163.com */ public class D2 { public static void main(String[] args) { //美国纽约时间 ZoneId zid = ZoneId.of("America/New_York"); LocalDateTime id = LocalDateTime.now(zid); var dt = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); System.out.println(id.format(dt)); System.out.println(id.toLocalDate()); System.out.println(id.toLocalTime()); } }
运行结果: