【自学笔记】01Java基础-08Java常用API:03日期类详解

记录Java基础-常用API-有关时间日期的类。

1 Date类

1.1 什么是Date类

  • Date 类位于 java.util 包中,代表当前所在系统的日期时间信息或表示特定的瞬间,精确到毫秒。
  • 这个类在早期版本的 Java 中被广泛使用,但由于其功能和设计的局限性,自Java8起,推荐使用 java.time 包中的新日期和时间 API(如 LocalDate、LocalTime、LocalDateTime 等)。
    【自学笔记】01Java基础-08Java常用API:03日期类详解_第1张图片

1.2 Date 类的主要特点:

  • 不可变对象:一旦创建了 Date 对象,其值就不能更改。
  • 线程安全:Date 类是线程安全的,因为它的大多数方法都是同步的。
  • 与平台无关:无论运行 Java 程序的系统是什么,Date 类都表示同样的时间单位。

1.3 主要方法:

  • 构造函数:创建新的 Date 对象。
Date date = new Date(); // 当前日期和时间  
Date date = new Date(long date); // 在给定的时间戳上创建日期对象
  • 获取时间单位:返回给定时间单位的值。
public long getTime() // 返回自1970年1月1日以来的毫秒数  
public int getYear() // 返回年份(基于1900年)  
public int getMonth() // 返回月份(0-11)  
public int getDay() // 返回日(1-31)
  • 设置时间单位:设置给定时间单位的值。
public void setYear(int year) // 设置年份(基于1900年)  
public void setMonth(int month) // 设置月份(0-11)  
public void setDay(int day) // 设置日(1-31)
  • 其他常用方法:如 after(), before(), equals(), hashCode() 等。
import java.util.Date;  
  
public class DateExample {  
    public static void main(String[] args) {  
        // 获取当前日期和时间  
        Date currentDate = new Date();  
        System.out.println("当前日期和时间: " + currentDate);  
          
        // 截取日期年/月/日
        System.out.println("年: " + currentDate.getYear());  
        System.out.println("月: " + currentDate.getMonth());  
        System.out.println("日: " + currentDate.getDate());  
          
        // 设置日期组件(注意:这些方法已被弃用)  
        currentDate.setYear(2023); // 设置年份(基于1900年)  
        currentDate.setMonth(6); // 设置月份(0-11)代表七月  
        currentDate.setDate(23); // 设置日(1-31)  
        System.out.println("设置后的日期和时间: " + currentDate);  
    }  
}

2 java8新增日期类

【自学笔记】01Java基础-08Java常用API:03日期类详解_第2张图片

2.1 LocalDate、LocalTime、LocalDateTime类

【自学笔记】01Java基础-08Java常用API:03日期类详解_第3张图片
【自学笔记】01Java基础-08Java常用API:03日期类详解_第4张图片
【自学笔记】01Java基础-08Java常用API:03日期类详解_第5张图片
【自学笔记】01Java基础-08Java常用API:03日期类详解_第6张图片

2.2 Instant时间戳

【自学笔记】01Java基础-08Java常用API:03日期类详解_第7张图片

2.3 DateTimeFormatter

【自学笔记】01Java基础-08Java常用API:03日期类详解_第8张图片

2.4 日期间隔Period、时间间隔Duration

【自学笔记】01Java基础-08Java常用API:03日期类详解_第9张图片
【自学笔记】01Java基础-08Java常用API:03日期类详解_第10张图片

2.5 全类型时间间隔ChronoUnit

【自学笔记】01Java基础-08Java常用API:03日期类详解_第11张图片

你可能感兴趣的:(笔记,开发语言,java)