欢迎访问宙启技术站
智能推送

Java中的常用日期函数详解

发布时间:2023-06-23 17:56:59

Java 是一种基于类和对象的面向对象编程语言,很多业务需求离不开处理时间和日期。为方便使用,Java 提供了 java.util.Date 类来表示时间和日期。但是,该类在实际使用时有很多问题。因此,Java 8 引入了新的日期时间 API,替代了旧的 API,并解决了很多旧 API 存在的问题。

下面是 Java 中常用的日期函数的详细说明:

1. java.time.LocalDate

该类表示日期,是不可变的,并且不能包含时间。其使用示例如下:

LocalDate date = LocalDate.now();
System.out.println(date);

运行上述程序,可以得到当前的日期,格式为 yyyy-MM-dd。

2. java.time.LocalDateTime

该类表示日期和时间,它也是不可变的。使用该类时,需要注意时区的问题。其使用示例如下:

LocalDateTime dt = LocalDateTime.now();
System.out.println(dt);

运行上述程序,可以得到当前的日期和时间,格式为 yyyy-MM-ddTHH:mm:ss。

3. java.time.LocalTime

该类表示时间,同样是不可变的并且不能包含日期。使用该类时,同样需要注意时区的问题。其使用示例如下:

LocalTime lt = LocalTime.now();
System.out.println(lt);

运行上述程序,可以得到当前的时间,格式为 HH:mm:ss。

4. java.time.format.DateTimeFormatter

该类提供了格式化日期和时间的方法,使用示例如下:

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

运行上述程序,可以得到格式化后的日期和时间。

5. java.time.Period

该类表示日期的时间段,可以计算两个日期之间的差距。其示例代码如下:

LocalDate date1 = LocalDate.of(2021, 10, 1);
LocalDate date2 = LocalDate.now();
Period gap = Period.between(date1, date2);
System.out.println(gap.getDays());

运行上述程序,可以计算出今天距离 2021 年 10 月 1 日有多少天。

6. java.time.Duration

该类表示时间的时间段,可以计算两个时间之间的差距。其示例代码如下:

LocalTime time1 = LocalTime.of(12, 0, 0);
LocalTime time2 = LocalTime.now();
Duration gap = Duration.between(time1, time2);
System.out.println(gap.getSeconds());

运行上述程序,可以计算出当前时间距离中午 12 点有多少秒。

以上是 Java 中常用的日期函数,需要注意时区以及使用方法。通过这些函数,可以方便地处理时间和日期相关的业务需求。