是否有任何 Java 库可以处理 win32文件时间/ http://msdn.microsoft.com/en-us/library/ms724284%28v=vs.85%29.aspx时间间隔 ?
它基本上是自 1601 年 1 月 1 日以来以 100 纳秒为间隔的 64 位时间戳。
(对于我的特殊需求,转换为/从 java.util.Date 或适当的 joda 时间等效值就可以了,尽管我需要访问至少微秒的分辨率 - 这似乎都没有提供。)
如果您对毫秒分辨率感到满意,那么这将有效:
/** Difference between Filetime epoch and Unix epoch (in ms). */
private static final long FILETIME_EPOCH_DIFF = 11644473600000L;
/** One millisecond expressed in units of 100s of nanoseconds. */
private static final long FILETIME_ONE_MILLISECOND = 10 * 1000;
public static long filetimeToMillis(final long filetime) {
return (filetime / FILETIME_ONE_MILLISECOND) - FILETIME_EPOCH_DIFF;
}
public static long millisToFiletime(final long millis) {
return (millis + FILETIME_EPOCH_DIFF) * FILETIME_ONE_MILLISECOND;
}
此时,从 ms 转换为 Date 对象非常简单。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)