首页 > 编程语言 >java8 新特性之日期时间处理 LocatDate、LocalTime、LocalDateTime、ZonedDateTime、DateTimeFormatter

java8 新特性之日期时间处理 LocatDate、LocalTime、LocalDateTime、ZonedDateTime、DateTimeFormatter

时间:2023-09-21 20:56:47浏览次数:49  
标签:System 日期 LocatDate DateTimeFormatter LocalDateTime println now out

一、LocalDate、LocalTime、LocalDateTime 和常用API

1、LocalDate

public void test01(){
        //1.创建指定的日期
        LocalDate date1 = LocalDate.of(2021,05,06);
        System.out .println( "date1 = "+date1);

        //2.得到当前的日期
        LocalDate now = LocalDate .now();
        System.out.println("now = "+now);

        // 3.根据LocalDate对象获取对应的日期信息
        System.out.println("年:" + now.getYear());
        System.out.println("月:" + now.getMonth().getValue());
        System.out.println("日:" + now.getDayOfMonth());
        System.out.println("星期:" + now.getDayOfWeek().getValue());
    }

执行结果:

date1 = 2021-05-06
now = 2023-02-18
年:2023
月:2
日:18
星期:6

2、LocalTime

public void test02(){
        //1、得到指定时间
        LocalTime time = LocalTime.of(5, 26, 33, 2323);
        System.out.println("指定时间:"+time);

        //2、获取当前的时间
        LocalTime now = LocalTime.now();
        System.out.println("当前时间:"+now);

        //3、获取时间信息
        System.out.println("时"+now.getHour());
        System.out.println("分"+now.getMinute());
        System.out.println("秒"+now.getSecond());
        System.out.println("纳秒"+now.getNano());
    }

执行结果

指定时间:05:26:33.000002323
当前时间:17:12:48.909
时17
分12
秒48
纳秒909000000

3、LocalDateTimepublic void test03(){

//获取指定日期时间
        LocalDateTime dateTime = LocalDateTime.of(2023, 01, 01, 12, 12, 33, 1213);
        System.out.println("指定日期时间:"+dateTime);

        //获取当前的日期时间
        LocalDateTime now = LocalDateTime.now();
        System.out.println("当前日期时间:"+now);

        //获取日期时间信息
        System.out.println("年:" + now.getYear());
        System.out.println("月:" + now.getMonth().getValue());
        System.out.println("日:" + now.getDayOfMonth());
        System.out.println("星期:" + now.getDayOfWeek().getValue());
        System.out.println("时"+now.getHour());
        System.out.println("分"+now.getMinute());
        System.out.println("秒"+now.getSecond());
        System.out.println("纳秒"+now.getNano());
}

执行结果

指定日期时间:2023-01-01T12:12:33.000001213
当前日期时间:2023-02-18T17:14:30.547
年:2023
月:2
日:18
星期:6
时17
分14
秒30
纳秒547000000

4、日期的加减和比较(isBefore、isAfter、isEqual、compareTo) 

   省略......

二、DateTimeFormatter日期时间格式化

public void test01(){
    LocalDateTime now = LocalDateTime.now();
    // format 日期类型转换为日期字符串(使用系统默认格式)
    DateTimeFormatter isoLocalDateTime = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
    String format = now.format(isoLocalDateTime);
    System.out.println(format);
    // format 日期类型转换为日期字符串(使用指定格式)
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
    String format1 = now.format(formatter);
    System.out.println(format1);

    // parse 日期字符串转换为日期类型(使用默认格式)
    LocalDateTime parse2 = LocalDateTime.parse("2023-02-18T17:25:48.267", DateTimeFormatter.ISO_LOCAL_DATE_TIME);
    System.out.println(parse2);
    // parse 日期字符串转换为日期类型(使用指定格式)
    LocalDateTime parse = LocalDateTime.parse("1995-04-05 22:33:22", formatter);
    System.out.println(parse);
}
执行结果:
2023-02-18T17:30:03.752 2023-02-18 17:30:03 2023-02-18T17:25:48.267 1995-04-05T22:33:22

三、ZonedDate、ZonedTime、zonedDateTime

  LocalDate、LocalTime、LocalDateTime是不带时区的。 带时区的日期时间类分别为: ZonedDate、ZonedTime、zonedDateTime。其中每个时区都对应着ID,

ID的格式为“区域/城市”。例如︰ Asia/Shanghai等。

 

摘自:https://blog.csdn.net/weixin_41979002/article/details/129101910

 

标签:System,日期,LocatDate,DateTimeFormatter,LocalDateTime,println,now,out
From: https://www.cnblogs.com/damoblog/p/17720917.html

相关文章

  • LocalDate、LocalDateTime的用法与String互转
    一、LocalDate常用用法1.1、申明定义LocalDateformatDate=LocalDate.of(2020,2,5);//自定义LocalDatetoday=LocalDate.now();//获取当前日期1.2、getX()获取年月日等注意:获取月份使用getMonthValue()System.out.println(formatDate.getMonth());//FEBRUAR......
  • java时间类LocalDateTime的前世今生
                                                                        1.日期类API导学设计初衷:Java原本自带的java.util.Date和......
  • Spring Boot 别再用 Date 作为入参了,LocalDateTime、LocalDate 真香!
    作者:TinyThing链接:https://www.jianshu.com/p/b52db905f0200x0背景项目中使用LocalDateTime系列作为dto中时间的类型,但是spring收到参数后总报错,为了全局配置时间类型转换,尝试了如下3中方法。注:本文基于Springboot2.0测试,如果无法生效可能是spring版本较低导致的。PS:如果你......
  • JDK8 LocalDateTime 自定义周开始
    LocalDateTimenow=LocalDateTime.of(2022,12,31,0,1,1);WeekFieldsweekFields=WeekFields.of(DayOfWeek.FRIDAY,1);intdayOfWeek=now.getDayOfWeek().get(weekFields.dayOfWeek());System.out.println("日期:"+......
  • 通用解决LocalDateTime转为字符串后中间含“T”
    importcom.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;importcom.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;importorg.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;importorg......
  • LocalDateTime与LocalDate之间转换
    LocalDateTime与LocalDate之间转换//LocalDateTime转换LocalDateLocalDateTimenow2=LocalDateTime.now();LocalDateld2=now2.toLocalDate();System.out.println("lt2="+ld2);//LocalDate转换LocalDateTimeLocalDateld3=......
  • LocalDateTime获取当天最小、最大时间
    当天最大时间:LocalDateTimemax=LocalDateTime.of(LocalDate.from(LocalDateTime.now()),LocalDateTime.MAX.toLocalTime());当天最小时间:LocalDateTimemin=LocalDateTime.of(LocalDate.from(LocalDateTime.now()),LocalDateTime.MIN.toLocalTime());当前时间是否超......
  • 报错 Cannot construct instance of `java.time.LocalDate` LocalDateTime
    原因:报错的原因就是导入了JacksonObjectMapper对象映射器,导致不知道怎么将LocalDateTime转换成Json类型的数据了,在没有导入使用JacksonObjectMapper的时候是不会报错的。解决方式:指定LocalDateTime类型的数据如何进行序列化就好了,给实体类中LocalDateTime的属性加上注解就可以了:......
  • LocalDateTime日期格式化和指定日期的时分秒
    LocalDateTime日期格式化和指定日期的时分秒packagecom.example.core.mydemo.date;importjava.time.LocalDate;importjava.time.LocalDateTime;importjava.time.format.DateTimeFormatter;/***now=2023-06-30*after=2023-07-04*afterTime=2023-07-04T00:00:0......
  • java8 LocalDateTime/LocalDate/LocalTime、java.util.Date/java.sql.Date区别及日期
    先介绍一下,LocalDateTime/LocalDate/LocalTime、java.util.Date/java.sql.Date区别LocalDateTime/LocalDate/LocalTimejava.time.LocalDateTime,是一个日期+时间,不带时区,它是个不可更改对象,精确到纳秒。它的日期可以认为是生日,它的时间可以认为是挂钟的时间,比较LocalDateTime时用eq......