我正在尝试使用 Active Directory 中的 accountExpires 属性获取所有已过期的帐户。
由于属性类型是 Int8(64 位整数)并且 Coldfusion 不支持这么长的整数,所以我很难让它工作。
是否有一个函数或某种类型可以用来实现上述目标?
谢谢!
最佳答案
Java 中的 64 位整数是 java.lang.Long 。多头隐含 converted to Integers在冷聚变中。
accountExpires
是 windows file time structure表示自 1601 年 1 月 1 日以来 100 纳秒间隔的数量。 This thread展示了我们如何获取 Windows 文件的最新时间:
long diff1601to1970 = 315532800 * 1000000000; // <-- diff in nanoseconds(1/1/1601 to 1/1/1970) long currentFrom1970 = System.currentTimeMillis() * 1000000; long currentFrom1601 = diff1601to1970 + currentFrom1970;
这允许我们在 ColdFusion 中执行以下操作:
accountExpiresFileTime = 129407978957060010;
date = createObject("java", "java.util.Date").init(
(accountExpiresFileTime-116444736000000000)/10000
);
希望有帮助。
关于datetime - Coldfusion 计算帐户过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8517178/