首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 日期時間比較工具類

     編輯:Java 相關知識

完整程式碼


import java.text.*;
import java.util.*;

public class TimeCompare {
    public static void main(String[] args) {
        System.out.println(isDateBefore("2004-09-09 12:12:12", "2005-09-09 16:00:00")); // true
        System.out.println(isDateBefore("2006-09-09 01:01:01", "2005-09-09 16:00:00")); // false
        System.out.println(isDateBefore("2005-09-09 01:01:01")); // 視當前時間而定
    }

    // 判斷 date1 是否早於 date2
    public static boolean isDateBefore(String date1, String date2) {
        try {
            DateFormat df = DateFormat.getDateTimeInstance();
            return df.parse(date1).before(df.parse(date2));
        } catch (ParseException e) {
            System.err.println("[SYS] " + e.getMessage());
            return false;
        }
    }

    // 判斷當前時間是否早於 date2
    public static boolean isDateBefore(String date2) {
        try {
            DateFormat df = DateFormat.getDateTimeInstance();
            return new Date().before(df.parse(date2));
        } catch (ParseException e) {
            System.err.println("[SYS] " + e.getMessage());
            return false;
        }
    }
}

關鍵點

  • 使用 DateFormat.getDateTimeInstance() 取得預設語系的日期時間格式化器
  • Date.before(Date) 直接比較時間先後
  • 解析失敗捕捉 ParseException,回傳 false 並輸出錯誤訊息
  • 輸入格式需符合當地預設格式(範例為 yyyy-MM-dd HH:mm:ss)

進階建議

生產環境建議使用 SimpleDateFormat 指定確切格式,或升級至 Java 8+ 的 java.time 套件(LocalDateTime、DateTimeFormatter)獲得更好的執行緒安全與效能。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved