2014-12-09 2 views
1

AD의 계정 만료 속성을 날짜로 변환하려고합니다. 여기에 내가 어떻게하려고하는지 :계정 가져 오기 활성 디렉토리에서 만료일

long adDate = Long.parseLong(adDateStr); 
    long milliseconds = (adDate/10000) - DIFF_NET_JAVA_FOR_DATES; 
    Date date = new Date(milliseconds); 
    DateFormat mydate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
    return(mydate.format(date)); 

실제 계정 만료일에 1 일 추가하는 것이 문제입니다. 예 : 계정 만료 날짜가 위의 코드보다 08/01/2106 인 경우 09/01/2016이 제공됩니다. 아무도 도와 줄 수 있습니까?

+0

조작하지 않고 오래 새로운 날짜()로 변환 할 수 있습니까? – UmeshR

+0

아니요 두 번째 줄이 필요 없습니다. – sid

+1

이 질문에 'talend'태그가 지정된 이유는 무엇입니까? 그것은 TOS와 전혀 관계가 없습니다. –

답변

1

그냥 추측하십시오.

  1. 는 11644473600000L = + 24 * 60 * 60 * 1000 DIFF_NET_JAVA_FOR_DATES의 값?

  2. accountExpires의 시간과 Date는 UTC 시간 (로컬이 아님)입니다.
    이것이 이유입니까?

+0

accountExpires는 항상 UTC입니다 - [MSDN] (http://msdn.microsoft.com/en-us/library/ms675098%28v=vs.85%29.aspx)을 참조하십시오. 아마 약간의 시간대 이동 및 반올림 낯선. –

관련 문제