1. 程式人生 > >java對時間操作的常用總結

java對時間操作的常用總結

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

  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;
    }


}