> 文章列表 > 日期API(获取LocalDateTime对象)

日期API(获取LocalDateTime对象)

日期API(获取LocalDateTime对象)

日期API的优点

Date如果不格式化,输出的日期可读性差;而java8的时间类直接输出可读性好

Date存在线程安全问题,而java8的时间类都是线程安全的

JDK8新增日期类:LocalDate:年、月、日

                              LocalTime:时、分、秒

                              LocalDateTime:年、月、日、时、分、秒

                              Instant:代表的是时间戳

                              DateTimeFormatter 用于时间的格式化和解析

                              Duration:计算两个"时间"间隔

                              Period:计算两个"日期"间隔

LocalDateTime

        没有构造方法,常用下面两个静态方法获取时间

                public static LocalDateTime now()

                        从默认时区中的系统时钟获取当前时间

                public static LocalDateTime of(int year,int month,int dayMonth,int hour,int minute,int second)

                从年、月、日、小时、分钟和秒获得LocalDateTime的实例,将纳秒设置为零

package com.aynu;// 没有构造方法,常用下面两个静态方法获取时间
//
//        public static LocalDateTime now()
//
//                从默认时区中的系统时钟获取当前时间
//
//         public static LocalDateTime of(int year,int month,int dayMonth,int hour,int minute,int second)
//
//         从年、月、日、小时、分钟和秒获得LocalDateTime的实例,将纳秒设置为零import java.time.LocalDateTime;public class LocalDateTimeDemo {public static void main(String[] args) {//public static LocalDateTime now()LocalDateTime now = LocalDateTime.now();System.out.println(now);//2023-04-17T20:31:06.295909200// T表示时间开始,精确到纳秒//1秒=1000毫秒//1毫秒=1000微秒//1微秒=1000纳秒//public static LocalDateTime of(int year,int month,int dayMonth,int hour,int minute,int second)LocalDateTime of = LocalDateTime.of(2023, 4, 17, 20, 33, 30);System.out.println(of);//2023-04-17T20:33:30}
}

2023-04-17T20:35:16.934258500
2023-04-17T20:33:30

 LocalDateTime格式化和解析

格式化:

        String format(DateTimeFormatter formatter): 使用指定的格式化程序格式化此日期时间

解析:

        static LocalDateTime parse(CharSequence  text, DateTimeFormatter formatter)

                使用特定格式化程序从文本字符串中获取LocalDateTime的实例

DateTimeFormatter:没看到构造方法,用下面的静态方法获取日期格式化对象

        public static DateTimeFormatter ofPattern(String pattern):使用指定的模式创建格式化程序

package com.aynu;//格式化:
//        String format(DateTimeFormatter formatter): 使用指定的格式化程序格式化此日期时间
//
//        解析:
//            static LocalDateTime parse(CharSequence     text, DateTimeFormatter formatter)
//                使用特定格式化程序从文本字符串中获取LocalDateTime的实例
//
//        DateTimeFormatter:没看到构造方法,用下面的静态方法获取日期格式化对象
//            public static DateTimeFormatter ofPattern(String pattern):使用指定的模式创建格式化程序import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;public class LocalDateDemo1 {public static void main(String[] args) {//String format(DateTimeFormatter formatter)
//        LocalDateTime now= LocalDateTime.now();
//        //public static DateTimeFormatter ofPattern(String pattern):使用指定的模式创建格式化程序
//        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
//        String format = now.format(dateTimeFormatter);
//        System.out.println(format); //2023-04-17 21:03:22String format = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));System.out.println(format);//static LocalDateTime parse(CharSequence     text, DateTimeFormatter formatter)String s="2023-04-17 10:46:20";
//        String s="2023/04/17 10:46:20";LocalDateTime parse = LocalDateTime.parse(s, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
//        LocalDateTime parse = LocalDateTime.parse(s, DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss"));System.out.println(parse);  //2023-04-17T10:46:20}
}

2023-04-17 21:10:08
2023-04-17T10:46:20