2013-06-17 4 views
3

유닉스 타임 스탬프를 사용하여 응용 프로그램에 구매 날짜를 저장하고 있습니다. 샘플 데이터 : 1371463066Java에서 두 개의 유닉스 타임 스탬프 사이의 일 수를 찾는 방법

일 수와 현재 날짜 시간의 차이를 기반으로 일부 조작을 원합니다. 예 : 구매 날짜와 현재 날짜 사이의 일수가 5 일이면 피드백에 대한 이메일을 다시 보내십시오.

Java를 사용하여 두 개의 타임 스탬프 사이의 날짜 차이를 얻는 방법은 무엇입니까?

+0

당신은 아무것도 시도? – sanbhat

답변

8

나는 그것을 테스트하지 않은하지만 당신은 이런 식으로 뭔가를 시도 할 수 있습니다 :

Date purchasedDate = new Date(); 
//multiply the timestampt with 1000 as java expects the time in milliseconds 
purchasedDate.setTime((long)purchasedtime*1000); 

Date currentDate = new Date(); 
currentDate .setTime((long)currentTime*1000); 

//To calculate the days difference between two dates 
int diffInDays = (int)((currentDate.getTime() - purchasedDate.getTime()) 
       /(1000 * 60 * 60 * 24)) 
+0

(currenttime - purchasedacedtime)/24 * 60 * 60이 작동하지 않습니까? – addy

1

유닉스 타임 스탬프는 1970년 1월 1일 이후의 초 수입니다. 당신이있는 경우 유닉스는 타임 스탬프 전체 일의 차이는

INT은 diff = (TS1 - TS2)입니다/24분의 3,600

0

당신은 (또한 시간대가 사용을 허용 할) 달력으로 시도 할 수 :

Calendar calendar = Calendar.getInstance(); 
calendar.setTimeInMillis(1371427200l * 1000l); 
Calendar newCalendar = Calendar.getInstance(); 
newCalendar.setTimeInMillis(1371527200l * 1000l); 
// prints the difference in days between newCalendar and calendar 
System.out.println(newCalendar.get(Calendar.DAY_OF_YEAR) - calendar.get(Calendar.DAY_OF_YEAR)); 

출력 :

1 
+0

두 번째 날짜의 연도가 다르면 어떻게해야합니까? – JIV

+0

아, 그렇습니다. 나는 어리 석음으로 같은 해가 될 것이라고 생각했습니다. 이유를 모르겠습니다. 이 경우 DAY_OF_YEAR 값을 비교하는 대신 Juned Ashad가 답장 할 때와 마찬가지로 타임 스탬프를 비교해야합니다. 그래도 캘린더에서 계속 할 수 있습니다. – Mena

관련 문제