2012-11-04 3 views
3

나는 안드로이드 개발에 새로운 2 datetime 형식 간의 차이를 계산하는 코드를 찾을 수 없습니다. 내 질문은. 나는 다음과 같이 내가 날짜 반응을 얻고 내 프로젝트에서 웹 서비스를 사용하고안드로이드의 두 datetime 형식의 차이점은 무엇입니까?

에 ..

내가

Today Timings :- 2012-11-04 2 hours 

수단으로 화면에 표시 할 다음

starttime :- [2012-11-04 10:00:00] 
endtime :- [2012-11-04 12:00:00] 

사이의 차이를 계산해야 두 날짜 및 시간 차이를 화면에 표시해야합니다.

아무도 도와 주실 수 없습니까?

+0

나도 같은 코드를 찾고 있습니다. 답변을 찾은 경우 .. –

+0

시간과 날짜의 차이를 얻으려고하십니까? 아니면 그냥 시간? – Vinay

+0

난 그냥 시간 차이를 원하고 위에서 언급 한 바와 같이 시작 시간을 표시해야합니다. "오늘의 타이밍 : - 2012-11-04 2 시간" –

답변

1

날짜 - 시간 객체를 얻는 정확한 형식을 알고 있다면 안드로이드에서 SimpleDateFormat class을 사용할 수 있습니다.이 문자열을 사용하면 문자열로 표현 된 날짜의 형식이 지정된 날짜로 문자열을 구문 분석 할 수 있습니다. 귀하의 질문에 :

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
Date startTime = sdf.parse(<startTime/endTime String>, 0); 

비슷하게 구문 분석하고 차이점은 개별 개체의 getTime()을 사용하여 얻을 수 있습니다.

long diff = endTime.getTime() - startTime.getTime() 

는 그 다음은 사용 시간의 차이를 변환하는만큼 간단합니다 도움이

int hours = (int)(diff/(60*60*1000)); 

희망.

+0

고마워,이 문제를 해결했다. 여기 내가 원하는 다른 것은 내 질문에 따라 startTime 문자열과 & nbsp; "2012-11-04 2 시간"과 같이 표시 할 필요가있는 날짜를 구분해야합니다. 그럼 내가 어떻게 할 수 있니? –

+0

아, 그 부분을 놓쳐서 미안해. 자바의 부분 문자열 메소드를 사용하여 날짜 문자열을 포함하는 문자열을 가져옵니다. 문서는이 메소드를 문자열'substring (int startIndex, int endIndex)'로 가지고 있습니다.그래서'starttime : - [2012-11-04 10:00:00]'이것은'timeString = inputString.substring (15 , inputString.length());'. – varevarao

0

java.util.Date;을 사용하는 경우 중간 변수를 사용해야합니다. 당신은 당신의 날짜를 long 값으로 변환하고이를 뺀 다음 당신의 오래 전의 것을 날짜로 변환 할 수 있습니다.

long diff = new Date().getTime() - new Date(milliseconds).getTime(); 
    Date dateDiff = new Date(diff); 

그러나 일광 절약 시간제 및 다른 변수를 고려하지 않아야한다는 경고를해야합니다. 당신이 꼼꼼한 사람이라면, 당신은 이것에 빠져있을 수도 있습니다. replacement date class. 그것은 당신이 추구하는 기능을 가지고 있습니다.

0

나는이 코드를 사용하여 두 날짜의 차이를 얻습니다.

public void getTimeDifference(Date endDate,Date startDate) { 
      Date diff = new Date(endDate.getTime() - startDate.getTime()); 
      Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("UTC")); 
      calendar.setTime(diff); 
      int day=calendar.get(Calendar.DAY_OF_MONTH); 
      int hours = calendar.get(Calendar.HOUR_OF_DAY); 
      } 
     }