当前位置: 首页 > 图灵资讯 > 技术篇> 获取前一天日期时间零点开始java

获取前一天日期时间零点开始java

来源:图灵教育
时间:2023-11-13 15:53:53

获取前一天的日期时间0:00开始

在Java中,可以使用前一天的日期和时间java.util.Calendarjava.time.LocalDate类别。本文将介绍这两种方法来获得前一天的日期时间,并从零开始计算。

使用java.util.Calendar类

java.util.CalendarJava用于处理日期和时间。我们可以用它来获得前一天的日期和时间。

首先,我们需要获得当前的日期和时间,然后减去一天,以获得前一天的日期和时间。以下是一个用途java.util.Calendar类别示例代码:

import java.util.Calendar;public class PreviousDayExample {    public static void main(String[] args) {        // 获取当前日期和时间        Calendar cal = Calendar.getInstance();                // 减去当前日期和时间的一天        cal.add(Calendar.DAY_OF_MONTH, -1);                // 获取前一天的日期和时间        int year = cal.get(Calendar.YEAR);        int month = cal.get(Calendar.MONTH) + 1; // 月份从0开始,所以需要加1        int day = cal.get(Calendar.DAY_OF_MONTH);        int hour = cal.get(Calendar.HOUR_OF_DAY);        int minute = cal.get(Calendar.MINUTE);        int second = cal.get(Calendar.SECOND);                // 输出前一天的日期和时间        System.out.println("前一天的日期和时间:" + year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second);    }}

运行上述代码,输出前一天的日期和时间,如:

前一天的日期和时间:2022-01-05 10:15:30
使用java.time.LocalDate类别

从Java 从8开始,新的日期和时间API被引入,即java.time包。其中,java.time.LocalDate可用于处理日期。

使用java.time.LocalDate获取前一天的日期和时间的方法与上述方法相似。我们首先获得当前的日期和时间,然后使用它minusDays()减去一天的方法可以得到前一天的日期和时间。以下是一个使用方法java.time.LocalDate类别示例代码:

import java.time.LocalDate;import java.time.format.DateTimeFormatter;public class PreviousDayExample {    public static void main(String[] args) {        // 获取当前日期和时间        LocalDate currentDate = LocalDate.now();                // 减去当前日期和时间的一天        LocalDate previousDate = currentDate.minusDays(1);                // 定义日期时间格式        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");                // 格式化前一天的日期和时间        String previousDateStr = previousDate.format(formatter);                // 输出前一天的日期和时间        System.out.println("前一天的日期和时间:" + previousDateStr);    }}

运行上述代码,输出前一天的日期和时间,如:

前一天的日期和时间:2022-01-05 00:00:00
序列图

以下是描述获取前一天日期和时间过程的序列图:

sequenceDiagram    participant Client    participant Calendar    participant LocalDate    Client->>Calendar: 获取当前日期和时间    Calendar-->>Client: 返回当前日期和时间    Client->>Calendar: 减去当前日期和时间的一天    Calendar-->>Client: 返回前一天的日期和时间    Client->>LocalDate: 获取当前日期和时间    LocalDate-->>Client: 返回当前日期和时间    Client->>LocalDate: 减去当前日期和时间的一天    LocalDate-->>Client: 返回前一天的日期和时间
状态图

以下是描述获取前一天日期和时间过程的状态图:

stateDiagram    [*] --> 获取当前日期和时间    获取当前日期和时间 --> 减去当前日期和时间的一天    减去当前日期和时间的一天 --> 获取前一天的日期和时间    获取前一天的日期和时间 --> [*]

我们可以使用上述示例和说明java.util.Calendarjava.time.LocalDate类获取前一天的日期和时间,并从零开始计算。这些类提供了一种简单而强大的方法来处理日期和时间,使我们能够轻松地操作日期和时间。