溫馨提示×

Java SimpleDateFormat如何處理閏年

小樊
81
2024-10-12 14:04:15
欄目: 編程語言

在Java中,使用java.text.SimpleDateFormat類可以處理日期和時間的格式化。對于閏年的處理,SimpleDateFormat會自動考慮閏年的情況。當你使用SimpleDateFormat解析或格式化日期時,它會根據(jù)公歷規(guī)則自動處理閏年。

以下是一個簡單的示例,展示了如何使用SimpleDateFormat處理閏年:

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

public class Main {
    public static void main(String[] args) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

        // 閏年測試
        String dateStr1 = "2020-02-29"; // 閏年的2月29日
        String dateStr2 = "2021-02-29"; // 非閏年的2月29日(會拋出異常)

        try {
            Date date1 = sdf.parse(dateStr1);
            System.out.println("Parsed date1: " + sdf.format(date1));

            Date date2 = sdf.parse(dateStr2); // 這里會拋出ParseException,因為2021年不是閏年
            System.out.println("Parsed date2: " + sdf.format(date2));
        } catch (ParseException e) {
            System.out.println("Error parsing date: " + e.getMessage());
        }
    }
}

輸出結(jié)果:

Parsed date1: 2020-02-29
Error parsing date: Unparseable date: "2021-02-29"

從輸出結(jié)果可以看出,SimpleDateFormat能夠正確解析閏年的日期(如2020-02-29),而對于非閏年的日期(如2021-02-29),它會拋出一個ParseException異常。因此,在使用SimpleDateFormat處理日期時,你不需要額外處理閏年的邏輯,它會自動為你處理。

0