• JavaSE 常见时间日期


    java.util包提供了Date类来封装当前的⽇期和时间

    构造函数

    //当前时间
    Date()
    //从1970年1⽉1⽇起的毫秒数作为参数
    Date(long millisec)

    常见方法

    //返回⾃ 1970 年 1 ⽉ 1 ⽇ 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
    long getTime( )
    //调⽤此⽅法的Date对象在指定⽇期之后返回true,否则返回false。
    boolean after(Date date)
    //调⽤此⽅法的Date对象在指定⽇期之前返回true,否则返回false。
    boolean before(Date date)

    JDK1.8时间日期处理类

    核心类

    LocalDate:不包含具体时间的⽇期。
    LocalTime:不含⽇期的时间。
    LocalDateTime:包含了⽇期及时间。

    LocalDate常用API

     LocalDate today = LocalDate.now();
     System.out.println("今天⽇期:" + today);
     //获取年,⽉,⽇,周⼏
     System.out.println("现在是哪年:"+today.getYear());
     System.out.println("现在是哪⽉:"+today.getMonth());
     System.out.println("现在是哪⽉(数字):"+today.getMonthValue());
     System.out.println("现在是⼏号:"+today.getDayOfMonth());
     System.out.println("现在是周⼏:"+today.getDayOfWeek());
     //加减年份, 加后返回的对象才是修改后的, 旧的依旧是旧的
     LocalDate changeDate = today.plusYears(1);
     System.out.println("加后是哪年:"+changeDate.getYear());
     System.out.println("旧的是哪年:"+today.getYear());
     //⽇期⽐较
     System.out.println("isAfter: "+changeDate.isAfter(today));
     //getYear() int 获取当前⽇期的年份
     //getMonth() Month 获取当前⽇期的⽉份对象
     //getMonthValue() int 获取当前⽇期是第⼏⽉
     //getDayOfWeek() DayOfWeek 表示该对象表示的⽇期是星期⼏
     //getDayOfMonth() int 表示该对象表示的⽇期是这个⽉第⼏天
     //getDayOfYear() int 表示该对象表示的⽇期是今年第⼏天
     //withYear(int year) LocalDate 修改当前对象的年份
     //withMonth(int month) LocalDate 修改当前对象的⽉份
     //withDayOfMonth(int dayOfMonth) LocalDate 修改当前对象在当⽉的⽇期
     //plusYears(long yearsToAdd) LocalDate 当前对象增加指定的年份数
     //plusMonths(long monthsToAdd) LocalDate 当前对象增加指定的⽉份数
     //plusWeeks(long weeksToAdd) LocalDate 当前对象增加指定的周数
     //plusDays(long daysToAdd) LocalDate 当前对象增加指定的天数
     //minusYears(long yearsToSubtract) LocalDate 当前对象减去指定的年数
     //minusMonths(long monthsToSubtract) LocalDate 当前对象减去注定的⽉数
     //minusWeeks(long weeksToSubtract) LocalDate 当前对象减去指定的周数
     //minusDays(long daysToSubtract) LocalDate 当前对象减去指定的天数
     //compareTo(ChronoLocalDate other) int ⽐较当前对象和other对象在时
    间上的⼤⼩,返回值如果为正,则当前对象时间较晚,
     //isBefore(ChronoLocalDate other) boolean ⽐较当前对象⽇期是否在
     other对象⽇期之前
     //isAfter(ChronoLocalDate other) boolean ⽐较当前对象⽇期是否在
     other对象⽇期之后
     //isEqual(ChronoLocalDate other) boolean ⽐较两个⽇期对象是否相等

    JDK1.8时间日期格式化

    为什么要时间⽇期做格式化
      程序打印,或者⽹⻚显示时间⽇期格式,⽤户有不同的需求,则需要根据⼀定的规则进⾏格式化

    常用占位符

    y  四位数年份
    M  ⽉
    d  ⽇
    h  时 在上午或下午 (1~12)
    H  时 在⼀天中 (0~23)
    m  分
    s  秒
    S  毫秒

    JDK1.8之后,引入线程安全的日期与时间DateTimeFormatter

    LocalDateTime ldt = LocalDateTime.now();
    System.out.println(ldt);
    DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd
    HH:mm:ss");
    String ldtStr = dtf.format(ldt);
    System.out.println(ldtStr);

    获取指定的日期时间对象

    LocalDateTime ldt = LocalDateTime.of(2020, 11, 11, 8, 20, 30);
    System.out.println(ldt);

    计算日期时间差

    java.time.Duration

    LocalDateTime today = LocalDateTime.now();
     System.out.println(today);
     LocalDateTime changeDate = LocalDateTime.of(2020,10,1,10,40,30);
     System.out.println(changeDate);
     Duration duration = Duration.between( today,changeDate);//第⼆个参数减第⼀
    个参数
     System.out.println(duration.toDays());//两个时间差的天数
     System.out.println(duration.toHours());//两个时间差的⼩时数
     System.out.println(duration.toMinutes());//两个时间差的分钟数
     System.out.println(duration.toMillis());//两个时间差的毫秒数
     System.out.println(duration.toNanos());//两个时间差的纳秒数
  • 相关阅读:
    利用webpack构建vue项目
    关于写毕业设计网页代码写后感
    用canvas属性写一个五角星哦
    css3瀑布流布局
    css3学习笔记,随时帮你记起遗忘的css3
    自己做得一个用于直观观察css3 transform属性中的rotate 3D效果
    第一次讨论——关于块级元素与行内元素的区别,浮动与清除浮动,定位,兼容性问题
    软件工程第一次作业
    自我介绍
    自我介绍
  • 原文地址:https://www.cnblogs.com/chenyanbin/p/13412812.html
Copyright © 2020-2023  润新知