java 时间比较 算时间差 时间格式变换【转】

java 时间比较 算时间差 时间格式转换【转】
方法一,
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    
try   
{    
     Date d1 = df.parse("2004-03-26 13:31:40");    
     Date d2 = df.parse("2004-01-02 11:30:24");    
    long diff = d1.getTime() - d2.getTime();    
    long days = diff / (1000 * 60 * 60 * 24);    
}    
catch (Exception e)    
{    
}   


方法二,
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    
    java.util.Date now = df.parse("2004-03-26 13:31:40");    
    java.util.Date date=df.parse("2004-01-02 11:30:24");    
   long l=now.getTime()-date.getTime();    
   long day=l/(24*60*60*1000);    
   long hour=(l/(60*60*1000)-day*24);    
   long min=((l/(60*1000))-day*24*60-hour*60);    
   long s=(l/1000-day*24*60*60-hour*60*60-min*60);    
    System.out.println(""+day+"天"+hour+"小时"+min+"分"+s+"秒");   



方法三,
SimpleDateFormat dfs = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    
    java.util.Date begin=dfs.parse("2004-01-02 11:30:24");    
    java.util.Date end = dfs.parse("2004-03-26 13:31:40");    
   long between=(end.getTime()-begin.getTime())/1000;//除以1000是为了转换成秒    
   long day1=between/(24*3600);    
   long hour1=between%(24*3600)/3600;    
   long minute1=between%3600/60;    
   long second1=between%60/60;    
    System.out.println(""+day1+"天"+hour1+"小时"+minute1+"分"+second1+"秒");   



方法四,
 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");   


附,时间格式转换
FastDateFormat df = FastDateFormat.getInstance("yyyy-MM-dd HH:mm:ss");    
String date = df.format(java.util.Date());    
 



文章出处:http://hi.baidu.com/czjjzhao/blog/item/a9cc55017272d8d8267fb5bd.html