java 直接比較時間
阿新 • • 發佈:2020-09-16
找了一圈,貌似java沒有現成比較時間的類,只有比較日期的,不知道是不是我眼瞎了
於是自己寫了一個
import java.text.SimpleDateFormat; import java.util.Date; public class TimeCompare { private static int Time2Int(String ftDate) { /** * 將HH:mm:ss時間轉成秒 */ String[] splitTime = ftDate.split(":"); int h = Integer.parseInt(splitTime[0]); int m = Integer.parseInt(splitTime[1]); int s = Integer.parseInt(splitTime[2]); return h * 3600 + m * 60 + s; } public static boolean CompareNowTime(Date cTime) { /** * 與現在的時間比較,大於現在的時間就返回ture */ Date date = new Date(); SimpleDateFormat ft = new SimpleDateFormat("HH:mm:ss"); return Time2Int(ft.format(cTime)) >= Time2Int(ft.format(date)); } public static boolean CompareNowTime(String cTime) { Date date = new Date(); SimpleDateFormat ft = new SimpleDateFormat("HH:mm:ss"); return Time2Int(cTime) >= Time2Int(ft.format(date)); } public static boolean CompareTime(Date T1, Date T2) { /** * 兩個日期相比較返回 T1 >= T2 ? */ SimpleDateFormat ft = new SimpleDateFormat("HH:mm:ss"); String t1 = ft.format(T1); String t2 = ft.format(T2); return Time2Int(t1) >= Time2Int(t2); } }
示例用法:
import static com.company.TimeCompare.CompareNowTime; import java.util.Date; public class Main { public static void main(String[] args) { if (CompareNowTime("07:00:00")) { System.out.println("19>18"); } else { System.out.println("現在時間是"+new Date()); } } }