Class TimeUtils
java.lang.Object
org.apache.commons.compress.utils.TimeUtils
Utility class for handling time-related types and conversions.
Understanding Unix vs NTFS timestamps:
- A Unix timestamp is a primitive long starting at the Unix Epoch on January 1st, 1970 at Coordinated Universal Time (UTC)
- An NTFS timestamp is a file time is a 64-bit value that represents the number of 100-nanosecond intervals that have elapsed since 12:00 A.M. January 1, 1601 Coordinated Universal Time (UTC).
- Since:
- 1.23
-
Method Summary
Modifier and TypeMethodDescriptionstatic booleanisUnixTime(long seconds) Tests whether a given number of seconds (since Epoch) can be safely represented in the standard UNIX time.static booleanisUnixTime(FileTime time) Tests whether a FileTime can be safely represented in the standard UNIX time.static DatentfsTimeToDate(long ntfsTime) Converts NTFS time (100 nanosecond units since 1 January 1601) to Java time.static FileTimentfsTimeToFileTime(long ntfsTime) Converts NTFS time (100-nanosecond units since 1 January 1601) to a FileTime.static Datestatic FileTimetoFileTime(Date date) static longtoNtfsTime(long javaTime) Converts Java time (milliseconds since Epoch) to NTFS time.static longtoNtfsTime(FileTime fileTime) Converts aFileTimeto NTFS time (100-nanosecond units since 1 January 1601).static longtoNtfsTime(Date date) Converts aDateto NTFS time.static longtoUnixTime(FileTime fileTime) ConvertsFileTimeto standard UNIX time.static FileTimetruncateToHundredNanos(FileTime fileTime) Truncates a FileTime to 100-nanosecond precision.static FileTimeunixTimeToFileTime(long time) Converts standard UNIX time (in seconds, UTC/GMT) toFileTime.
-
Method Details
-
isUnixTime
Tests whether a FileTime can be safely represented in the standard UNIX time.TODO ? If the FileTime is null, this method always returns true.
- Parameters:
time- the FileTime to evaluate, can be null- Returns:
- true if the time exceeds the minimum or maximum UNIX time, false otherwise
-
isUnixTime
Tests whether a given number of seconds (since Epoch) can be safely represented in the standard UNIX time.- Parameters:
seconds- the number of seconds (since Epoch) to evaluate- Returns:
- true if the time can be represented in the standard UNIX time, false otherwise
-
ntfsTimeToDate
Converts NTFS time (100 nanosecond units since 1 January 1601) to Java time.- Parameters:
ntfsTime- the NTFS time in 100 nanosecond units- Returns:
- the Date
-
ntfsTimeToFileTime
Converts NTFS time (100-nanosecond units since 1 January 1601) to a FileTime.- Parameters:
ntfsTime- the NTFS time in 100-nanosecond units- Returns:
- the FileTime
- See Also:
-
toDate
- Parameters:
fileTime- the file time to be converted.- Returns:
- a
Datewhich corresponds to the supplied time, ornullif the time isnull. - See Also:
-
toFileTime
- Parameters:
date- the date to be converted.- Returns:
- a
FileTimewhich corresponds to the supplied date, ornullif the date isnull. - See Also:
-
toNtfsTime
Converts aDateto NTFS time.- Parameters:
date- the Date- Returns:
- the NTFS time
-
toNtfsTime
Converts aFileTimeto NTFS time (100-nanosecond units since 1 January 1601).- Parameters:
fileTime- the FileTime- Returns:
- the NTFS time in 100-nanosecond units
- See Also:
-
toNtfsTime
Converts Java time (milliseconds since Epoch) to NTFS time.- Parameters:
javaTime- the Java time- Returns:
- the NTFS time
-
toUnixTime
ConvertsFileTimeto standard UNIX time.- Parameters:
fileTime- the original FileTime- Returns:
- the UNIX timestamp
-
truncateToHundredNanos
Truncates a FileTime to 100-nanosecond precision.- Parameters:
fileTime- the FileTime to be truncated- Returns:
- the truncated FileTime
-
unixTimeToFileTime
Converts standard UNIX time (in seconds, UTC/GMT) toFileTime.- Parameters:
time- UNIX timestamp- Returns:
- the corresponding FileTime
-