Java中的日期、時間操作
阿新 • • 發佈:2019-05-16
boolean form cal bool 時間格式 exception system orm str2
每次在處理日期時間的時候都要打開chrome查找一番,索性自己找一下滿意的記錄下來。
一、時間格式
// hh表示12小時制; HH表示24小時制
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss aa");
二、獲取當前時間及Date轉為String
1. 用Calendar
Calendar cal = Calendar.getInstance(); // 直接獲取全部 System.out.println(format1.format(cal.getTime())); // 也可以獲取各個分量 int Y, m, d, h, M, s; Y = cal.get(Calendar.YEAR); m = cal.get(Calendar.MONTH); // 註意這裏是從0開始數的,要加1 d = cal.get(Calendar.DATE); h = cal.get(Calendar.HOUR_OF_DAY); // 此處為24小時制;直接寫HOUR就是12小時制 M = cal.get(Calendar.MINUTE); s = cal.get(Calendar.SECOND); System.out.println(Y + " 年 " + (m + 1) + " 月 " + d + " 日 " + h + " 時 " + M + " 分 " + s + " 秒.");
2. 用Date
Date date = new Date();
System.out.println(format1.format(date));
// Java標準格式輸出時間
System.out.println(date.toString());
三、String轉為Date格式
與format相反的操作為parse
SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd"); String str1 = "2019-05-10"; String str2 = "2019-04-29"; Date date1 = null, date2 = null; try { date1 = df1.parse(str1); date2 = df1.parse(str2); } catch (Exception e) { System.out.println("Unparseable using " + df1); }
四、時間比較
1. 使用getTime()轉化為自1970年1月1日午夜十二時起已經過的毫秒數來比較
public static boolean compare1(Date date1, Date date2) {
long d1 = date1.getTime();
long d2 = date2.getTime();
if (d1 > d2)
return true;
return false;
}
2. 使用內置函數before ?after ?equals
System.out.println(date1.after(date2));
Java中的日期、時間操作