繁体   English   中英

如何将日历日期转换为ldap日期

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM