int[] TIME_UNIT = {3600, 60, 1}; 
  
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); 
  Calendar cal1 = Calendar.getInstance();
  Calendar cal2 = Calendar.getInstance();
  
  String x="2015-08-11 10:56:36";
  String y="2015-08-12 17:02:22";
  
  cal1.set(Calendar.HOUR_OF_DAY,Integer.parseInt(x.substring(11,13)));
  cal1.set(Calendar.MINUTE, Integer.parseInt(x.substring(14,16)));
  cal1.set(Calendar.SECOND, Integer.parseInt(x.substring(17,19)));
  
  cal2.set(Calendar.HOUR_OF_DAY,Integer.parseInt(y.substring(11,13)));
  cal2.set(Calendar.MINUTE, Integer.parseInt(y.substring(14,16)));
  cal2.set(Calendar.SECOND, Integer.parseInt(y.substring(17,19)));
  
  long diff = Math.abs(cal2.getTimeInMillis() - cal1.getTimeInMillis())/1000;
  String[] test= new String[3];
  for(int i=0;i<TIME_UNIT.length;i++)
  {
   test[i] =  String.valueOf(diff/TIME_UNIT[i]);
   diff %= TIME_UNIT[i];
  }

// 아래는 hh:mm:ss 형식으로 바꿔줄때사용


  String useTime="";
  if(test[0].length()==1)
  {
   useTime="0"+test[0]+":";
  }
  else
  {
   useTime=test[0]+":";
  }
  
  if(test[1].length()==1)
  {
   useTime=useTime+"0"+test[1]+":";
  }
  else
  {
   useTime=useTime+test[1]+":";
  }
  if(test[2].length()==1)
  {
   useTime=useTime+"0"+test[2];
  }
  else
  {
   useTime=useTime+test[2];
  }

 


  System.out.println(useTime);

 

 

출처 : 자바의정석

'자바 > 시간 날짜' 카테고리의 다른 글

[자바] 시간차이 구하기  (0) 2015.08.17
Posted by 부컴

댓글을 달아 주세요