Java Date只取年月日部分

在Java中,java.util.Date是一个常用的日期和时间类。但是,通常情况下我们只需要使用日期的年、月和日部分,而不需要考虑具体的时间。本文将介绍如何使用Java Date类只获取年月日部分,并提供相应的代码示例。

1. 获取当前日期

在使用Java Date类之前,首先需要获取当前的日期。Java提供了java.util.Calendar类来处理日期和时间,我们可以使用该类来获取当前的日期。

以下是获取当前日期的代码示例:

import java.util.Calendar;
import java.util.Date;

public class DateUtil {
    public static void main(String[] args) {
        // 获取当前日期
        Calendar calendar = Calendar.getInstance();
        Date currentDate = calendar.getTime();
        
        System.out.println("当前日期:" + currentDate);
    }
}

运行以上代码,将输出当前的日期,例如:"当前日期:Tue Nov 16 00:00:00 CST 2021"。

2. 只获取年月日部分

要只获取日期的年、月和日部分,我们需要使用java.text.SimpleDateFormat类来格式化日期。该类可以将日期格式化为指定的字符串。我们可以指定日期格式为"yyyy-MM-dd",这样就只会返回年、月和日部分,而不包括时间部分。

以下是只获取年月日部分的代码示例:

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class DateUtil {
    public static void main(String[] args) {
        // 获取当前日期
        Calendar calendar = Calendar.getInstance();
        Date currentDate = calendar.getTime();

        // 格式化日期,只获取年月日部分
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        String formattedDate = dateFormat.format(currentDate);

        System.out.println("只获取年月日部分:" + formattedDate);
    }
}

运行以上代码,将输出只包含年、月和日部分的日期,例如:"只获取年月日部分:2021-11-16"。

3. 序列图

下面是获取当前日期并只获取年月日部分的序列图:

sequenceDiagram
    participant App
    participant Calendar
    participant Date
    participant SimpleDateFormat

    App->>Calendar: 获取当前日期
    Calendar->>Date: getTime()
    App->>SimpleDateFormat: 格式化日期
    SimpleDateFormat->>Date: format()
    SimpleDateFormat->>String: formattedDate
    App->>App: 输出formattedDate

4. 类图

以下是相关类的类图:

classDiagram
    class App
    class Calendar
    class Date
    class SimpleDateFormat

    App --> Calendar
    Calendar --> Date
    App --> SimpleDateFormat
    SimpleDateFormat --> Date
    SimpleDateFormat --> String

结论

通过使用java.util.Datejava.text.SimpleDateFormat类,我们可以方便地只获取日期的年、月和日部分。这对于许多应用程序和业务场景来说是非常有用的。希望本文能帮助你在Java中处理日期时只取年月日部分。

以上是关于Java Date只取年月日部分的科普文章,提供了相应的代码示例、序列图和类图。希望对你有帮助!