2016-08-16 3 views
-1

이 질문에 대한 답변을 얻었지만 해결책은 Java 7에서 지원되지 않거나 외부 라이브러리 (이 간단한 사용 사례에 대해 다른 라이브러리를 원하지 않기 때문에 피할 수 있기를 바랍니다)가 필요합니다.Android의 현재 UTC 시간과 UTC 날짜를 비교하는 방법은 무엇입니까?

하지만 기본적으로 나는 내 DB에서 오는 2 개의 날짜가 있고 날짜는 UTC입니다. UTC로 장치의 현재 시간을 가져오고 현재 시간이 시작 날짜와 종료 날짜 사이에 있는지 확인하려고합니다. 현재 DB 시간이 Db에서 UTC로 전화를 받고 있지만 현재 시간이 장치의 시간대로 표시되고 비교가 잘못되었습니다.

+3

[? 어떻게 내가 UTC 또는 Java에서 GMT에 현재 날짜와 시간을 얻을 수 있습니다]의 사용 가능한 복제 (http://stackoverflow.com/questions/308683/ 현재 날짜 및 시간 입력 가능 여부) –

+1

상황에 맞는 코드를 제공하지 않으면 대답하기가 어렵습니다. 우리는 String, java Dates를 다루고 있는지 잘 모릅니다. 또한 이것은 순수 자바 질문처럼 보입니다. 그래서 Android 태그가 아마도 필요하지 않을 것입니다. – EJK

답변

1

자바 UTC에서 현지 시간을 얻기

를 제공하고 그들이 다음 더 안정하기 때문에 대부분이 제 3 자 lib 디렉토리를 사용하는 이유 :

TimeZone.setDefault(TimeZone.getTimeZone("UTC")); 
Calendar cal_Two = Calendar.getInstance(TimeZone.getTimeZone("UTC")); 
System.out.println(cal_Two.getTime()); 

출력 : 토 1월 25일 11 : 세계 협정시 15시 29분 날짜에 문자열을 변환 2014

:

String startDateString = "06/27/2007"; 
DateFormat df = new SimpleDateFormat("MM/dd/yyyy"); 
Date startDate; 
try { 
    startDate = df.parse(startDateString); 
    String newDateString = df.format(startDate); 
    System.out.println(newDateString); 
} catch (ParseException e) { 
    e.printStackTrace(); 
} 

날짜 사이의 차이를 찾기 :

{ 
     Date dt2 = new DateAndTime().getCurrentDateTime(); 

     long diff = dt2.getTime() - dt1.getTime(); 
     long diffSeconds = diff/1000 % 60; 
     long diffMinutes = diff/(60 * 1000) % 60; 
     long diffHours = diff/(60 * 60 * 1000); 
     int diffInDays = (int) ((dt2.getTime() - dt1.getTime())/(1000 * 60 * 60 * 24)); 

     if (diffInDays > 1) { 
      System.err.println("Difference in number of days (2) : " + diffInDays); 
      return false; 
     } else if (diffHours > 24) { 

      System.err.println(">24"); 
      return false; 
     } else if ((diffHours == 24) && (diffMinutes >= 1)) { 
      System.err.println("minutes"); 
      return false; 
     } 
     return true; 
} 
+0

정말 고마워요 !! 그 마지막 코드 스 니핏은 내가 필요한 것을 정확히 수행했습니다. –

+1

@JaySyko Welcome. 다음으로 더 구체적으로 노력하십시오. 더 빠르고 더 나은 방법으로 여러분을 도울 수 있습니다! :) 좋은 하루 되세요! – Smit