Class FileTimes
FileTime and interoperate Date and NTFS times.
An NTFS 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). This is the offset of Windows time 0 to Unix epoch in 100-nanosecond intervals.
- Since:
- 2.12.0
- See Also:
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic FileTimefromUnixTime(long time) Converts standard Unix time (in seconds, UTC/GMT) toFileTime.static 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 FileTimeminusMillis(FileTime fileTime, long millisToSubtract) Subtracts milliseconds from a source FileTime.static FileTimeminusNanos(FileTime fileTime, long nanosToSubtract) Subtracts nanoseconds from a source FileTime.static FileTimeminusSeconds(FileTime fileTime, long secondsToSubtract) Subtracts seconds from a source FileTime.static FileTimenow()Obtains the current instant FileTime from the system clock.static DatentfsTimeToDate(long ntfsTime) Converts an NTFS time (100 nanosecond units since 1 January 1601) to aDate.static FileTimentfsTimeToFileTime(long ntfsTime) Converts an NTFS time (100-nanosecond units since 1 January 1601) to aFileTime.static FileTimeplusMillis(FileTime fileTime, long millisToAdd) Adds milliseconds to aFileTime.static FileTimeAdds nanoseconds to aFileTime.static FileTimeplusSeconds(FileTime fileTime, long secondsToAdd) Adds seconds to aFileTime.static voidsetLastModifiedTime(Path path) Sets the last modified time of the given file path to now.static Datestatic FileTimetoFileTime(Date date) static longtoNtfsTime(long javaTime) Converts a 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) Converts aFileTimeto standard Unix time in seconds.
-
Field Details
-
EPOCH
Constant for the1970-01-01T00:00:00Zepochas a time stamp attribute.- See Also:
-
-
Method Details
-
fromUnixTime
Converts standard Unix time (in seconds, UTC/GMT) toFileTime.- Parameters:
time- Unix timestamp (seconds).- Returns:
- the corresponding FileTime.
- Since:
- 2.16.0
-
isUnixTime
Tests whether a FileTime can be safely represented in the standard Unix time.If the FileTime is null, this method 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.
- Since:
- 2.16.0
-
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.
- Since:
- 2.16.0
-
minusMillis
Subtracts milliseconds from a source FileTime.- Parameters:
fileTime- The source FileTime.millisToSubtract- The milliseconds to subtract.- Returns:
- The resulting FileTime.
-
minusNanos
Subtracts nanoseconds from a source FileTime.- Parameters:
fileTime- The source FileTime.nanosToSubtract- The nanoseconds to subtract.- Returns:
- The resulting FileTime.
-
minusSeconds
Subtracts seconds from a source FileTime.- Parameters:
fileTime- The source FileTime.secondsToSubtract- The seconds to subtract.- Returns:
- The resulting FileTime.
-
now
Obtains the current instant FileTime from the system clock.- Returns:
- the current instant FileTime from the system clock.
-
ntfsTimeToDate
Converts an NTFS time (100 nanosecond units since 1 January 1601) to aDate.An NTFS file time is a 64-bit value for the number of 100-nanosecond intervals since 12:00 A.M. January 1, 1601 Coordinated Universal Time (UTC).
- Parameters:
ntfsTime- the NTFS time, 100-nanosecond units since 1 January 1601.- Returns:
- the Date input.
- See Also:
-
ntfsTimeToFileTime
Converts an NTFS time (100-nanosecond units since 1 January 1601) to aFileTime.An NTFS file time is a 64-bit value for the number of 100-nanosecond intervals since 12:00 A.M. January 1, 1601 Coordinated Universal Time (UTC).
- Parameters:
ntfsTime- the NTFS time, 100-nanosecond units since 1 January 1601.- Returns:
- the FileTime input.
- See Also:
-
plusMillis
Adds milliseconds to aFileTime.- Parameters:
fileTime- The source FileTime.millisToAdd- The milliseconds to add.- Returns:
- The resulting FileTime.
-
plusNanos
Adds nanoseconds to aFileTime.- Parameters:
fileTime- The source FileTime.nanosToSubtract- The nanoseconds to subtract.- Returns:
- The resulting FileTime.
-
plusSeconds
Adds seconds to aFileTime.- Parameters:
fileTime- The source FileTime.secondsToAdd- The seconds to add.- Returns:
- The resulting FileTime.
-
setLastModifiedTime
Sets the last modified time of the given file path to now.- Parameters:
path- The file path to set.- Throws:
IOException- if an I/O error occurs.
-
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.An NTFS file time is a 64-bit value for the number of 100-nanosecond intervals since 12:00 A.M. January 1, 1601 Coordinated Universal Time (UTC).
- Parameters:
date- the Date input.- Returns:
- the NTFS time, 100-nanosecond units since 1 January 1601.
-
toNtfsTime
Converts aFileTimeto NTFS time (100-nanosecond units since 1 January 1601).An NTFS file time is a 64-bit value for the number of 100-nanosecond intervals since 12:00 A.M. January 1, 1601 Coordinated Universal Time (UTC).
- Parameters:
fileTime- the FileTime input.- Returns:
- the NTFS time, 100-nanosecond units since 1 January 1601.
-
toNtfsTime
Converts a Java time (milliseconds since Epoch) to NTFS time.An NTFS file time is a 64-bit value for the number of 100-nanosecond intervals since 12:00 A.M. January 1, 1601 Coordinated Universal Time (UTC).
- Parameters:
javaTime- the Java time- Returns:
- the NTFS time, 100-nanosecond units since 1 January 1601.
- Since:
- 2.16.0
-
toUnixTime
Converts aFileTimeto standard Unix time in seconds.The returned seconds value may lie out of bounds of Unix time. Check with
isUnixTime(long).- Parameters:
fileTime- the original FileTime.- Returns:
- the Unix timestamp or 0 if the input is null.
- Since:
- 2.16.0
- See Also:
-