java對時間操作的常用總結
阿新 • • 發佈:2019-01-22
1:java的時間比較
String s1="2008-01-25 09:12:09";
String s2="2008-01-29 09:12:11";
java.text.DateFormat df=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Calendar c1=java.util.Calendar.getInstance();
java.util.Calendar c2=java.util.Calendar.getInstance();
try{
c1.setTime(df.parse(s1));
c2.setTime(df.parse(s2));
}catch(java.text.ParseException e){
System.err.println("格式不正確");
}
int result=c1.compareTo(c2);
if(result==0)
System.out.println("c1相等c2");
else if(result<0)
System.out.println("c1小於c2");
else
String s1="2008-01-25 09:12:09";
String s2="2008-01-29 09:12:11";
java.text.DateFormat df=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Calendar c1=java.util.Calendar.getInstance();
java.util.Calendar c2=java.util.Calendar.getInstance();
try{
c1.setTime(df.parse(s1));
c2.setTime(df.parse(s2));
}catch(java.text.ParseException e){
System.err.println("格式不正確");
}
int result=c1.compareTo(c2);
if(result==0)
System.out.println("c1相等c2");
else if(result<0)
System.out.println("c1小於c2");
else
System.out.println("c1大於c2");
2:java中Date與String的相互轉化
這種轉換要用到java.text.SimpleDateFormat類
字串轉換成日期型別:
方法1:
也是最簡單的方法 Date date=new Date("2008-04-14");
方法2:
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");//小寫的mm表示的是分鐘
String dstr="2008-4-24";
java.util.Date date=sdf.parse(dstr);
日期轉換成字串:
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
java.util.Date date=new java.util.Date();
String str=sdf.format(date);
3:獲取當前系統時間
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//設定日期格式
System.out.println(df.format(new Date())); // new Date()為獲取當前系統時間
4:java判斷某個時間是否在系統當天時間範圍內
public class currentDateUtil { /** * 是否是今天 * * @param date * @return */ public static boolean isToday(final Date date) { return isOrNo(date, currentDateUtil.now()); } /** * 是否是指定日期 * * @param date * @param day * @return */ public static boolean isOrNo(final Date date, final Date day) { return date.getTime() >= currentDateUtil.dayBegin(day).getTime() && date.getTime() <= currentDateUtil.dayEnd(day).getTime(); } /** * 獲取指定時間的那天 00:00:00.000 的時間 * * @param date * @return */ public static Date dayBegin(final Date date) { Calendar c = Calendar.getInstance(); c.setTime(date); c.set(Calendar.HOUR_OF_DAY, 0); c.set(Calendar.MINUTE, 0); c.set(Calendar.SECOND, 0); c.set(Calendar.MILLISECOND, 0); return c.getTime(); } /** * 獲取指定時間的那天 23:59:59.999 的時間 * * @param date * @return */ public static Date dayEnd(final Date date) { Calendar c = Calendar.getInstance(); c.setTime(date); c.set(Calendar.HOUR_OF_DAY, 23); c.set(Calendar.MINUTE, 59); c.set(Calendar.SECOND, 59); c.set(Calendar.MILLISECOND, 999); return c.getTime(); } /** * 獲取當前時間 */ public static Date now(){ SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//設定日期格式 try { return df.parse(df.format(new Date()));// new Date()為獲取當前系統時間 } catch (ParseException e) { e.printStackTrace(); } return null; } }