[英]How to convert calendar date to ldap date
目前我已經嘗試過這段代碼,但問題是第一行代碼給出了這個輸出20150217172651 + 0100,我所需的輸出是20150217172651.0Z
GeneralizedTime gt = new GeneralizedTime(Calendar.getInstance());
String gtADString = gt.toGeneralizedTime(
GeneralizedTime.Format.YEAR_MONTH_DAY_HOUR_MIN_SEC,
GeneralizedTime.FractionDelimiter.DOT, 1,
GeneralizedTime.TimeZoneFormat.Z).replaceFirst("Z", "\\.0Z");
跑你的代碼
public class poc {
public static void main(String[] args) {
GeneralizedTime gt = new GeneralizedTime(Calendar.getInstance());
String gtADString = gt.toGeneralizedTime(
GeneralizedTime.Format.YEAR_MONTH_DAY_HOUR_MIN_SEC,
GeneralizedTime.FractionDelimiter.DOT, 1,
GeneralizedTime.TimeZoneFormat.Z).replaceFirst("Z", "\\.0Z");
System.out.println(gtADString);
}
}
得到這個作為輸出:
20150217163832.0Z
使用以下依賴項:
<dependency>
<groupId>org.apache.directory.api</groupId>
<artifactId>api-util</artifactId>
<version>1.0.0-M28</version>
</dependency>`
您可以嘗試如下:
long t1 = calenderObj.getTimeInMillis();
calenderObj.set(1601, 0, 1);
long t2 = calenderObj.getTimeInMillis();
long ldap = (t1 - t2) * 10000;
希望這會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.