Class FileTimes
- java.lang.Object
-
- org.apache.commons.io.file.attribute.FileTimes
-
public final class FileTimes extends java.lang.Object
Helps useFileTime
and interoperate Date and NTFS times.- Since:
- 2.12.0
-
-
Field Summary
Fields Modifier and Type Field Description static java.nio.file.attribute.FileTime
EPOCH
Constant for the1970-01-01T00:00:00Z
epoch
as a time stamp attribute.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.nio.file.attribute.FileTime
fromUnixTime(long time)
Converts standard UNIX time (in seconds, UTC/GMT) toFileTime
.static boolean
isUnixTime(long seconds)
Tests whether a given number of seconds (since Epoch) can be safely represented in the standard UNIX time.static boolean
isUnixTime(java.nio.file.attribute.FileTime time)
Tests whether a FileTime can be safely represented in the standard UNIX time.static java.nio.file.attribute.FileTime
minusMillis(java.nio.file.attribute.FileTime fileTime, long millisToSubtract)
Subtracts milliseconds from a source FileTime.static java.nio.file.attribute.FileTime
minusNanos(java.nio.file.attribute.FileTime fileTime, long nanosToSubtract)
Subtracts nanoseconds from a source FileTime.static java.nio.file.attribute.FileTime
minusSeconds(java.nio.file.attribute.FileTime fileTime, long secondsToSubtract)
Subtracts seconds from a source FileTime.static java.nio.file.attribute.FileTime
now()
Obtains the current instant FileTime from the system clock.static java.util.Date
ntfsTimeToDate(long ntfsTime)
Converts NTFS time (100 nanosecond units since 1 January 1601) to Java time.static java.nio.file.attribute.FileTime
ntfsTimeToFileTime(long ntfsTime)
Converts NTFS time (100-nanosecond units since 1 January 1601) to a FileTime.static java.nio.file.attribute.FileTime
plusMillis(java.nio.file.attribute.FileTime fileTime, long millisToAdd)
Adds milliseconds to a source FileTime.static java.nio.file.attribute.FileTime
plusNanos(java.nio.file.attribute.FileTime fileTime, long nanosToSubtract)
Adds nanoseconds from a source FileTime.static java.nio.file.attribute.FileTime
plusSeconds(java.nio.file.attribute.FileTime fileTime, long secondsToAdd)
Adds seconds to a source FileTime.static void
setLastModifiedTime(java.nio.file.Path path)
Sets the last modified time of the given file path to now.static java.util.Date
toDate(java.nio.file.attribute.FileTime fileTime)
ConvertsFileTime
to aDate
.static java.nio.file.attribute.FileTime
toFileTime(java.util.Date date)
ConvertsDate
to aFileTime
.static long
toNtfsTime(long javaTime)
Converts Java time (milliseconds since Epoch) to NTFS time.static long
toNtfsTime(java.nio.file.attribute.FileTime fileTime)
Converts aFileTime
to NTFS time (100-nanosecond units since 1 January 1601).static long
toNtfsTime(java.util.Date date)
Converts aDate
to NTFS time.static long
toUnixTime(java.nio.file.attribute.FileTime fileTime)
ConvertsFileTime
to standard UNIX time in seconds.
-
-
-
Method Detail
-
fromUnixTime
public static java.nio.file.attribute.FileTime fromUnixTime(long time)
Converts standard UNIX time (in seconds, UTC/GMT) toFileTime
.- Parameters:
time
- UNIX timestamp (seconds).- Returns:
- the corresponding FileTime.
- Since:
- 2.16.0
-
isUnixTime
public static boolean isUnixTime(java.nio.file.attribute.FileTime time)
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
public static boolean isUnixTime(long seconds)
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
public static java.nio.file.attribute.FileTime minusMillis(java.nio.file.attribute.FileTime fileTime, long millisToSubtract)
Subtracts milliseconds from a source FileTime.- Parameters:
fileTime
- The source FileTime.millisToSubtract
- The milliseconds to subtract.- Returns:
- The resulting FileTime.
-
minusNanos
public static java.nio.file.attribute.FileTime minusNanos(java.nio.file.attribute.FileTime fileTime, long nanosToSubtract)
Subtracts nanoseconds from a source FileTime.- Parameters:
fileTime
- The source FileTime.nanosToSubtract
- The nanoseconds to subtract.- Returns:
- The resulting FileTime.
-
minusSeconds
public static java.nio.file.attribute.FileTime minusSeconds(java.nio.file.attribute.FileTime fileTime, long secondsToSubtract)
Subtracts seconds from a source FileTime.- Parameters:
fileTime
- The source FileTime.secondsToSubtract
- The seconds to subtract.- Returns:
- The resulting FileTime.
-
now
public static java.nio.file.attribute.FileTime now()
Obtains the current instant FileTime from the system clock.- Returns:
- the current instant FileTime from the system clock.
-
ntfsTimeToDate
public static java.util.Date ntfsTimeToDate(long ntfsTime)
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
public static java.nio.file.attribute.FileTime ntfsTimeToFileTime(long ntfsTime)
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:
toNtfsTime(FileTime)
-
plusMillis
public static java.nio.file.attribute.FileTime plusMillis(java.nio.file.attribute.FileTime fileTime, long millisToAdd)
Adds milliseconds to a source FileTime.- Parameters:
fileTime
- The source FileTime.millisToAdd
- The milliseconds to add.- Returns:
- The resulting FileTime.
-
plusNanos
public static java.nio.file.attribute.FileTime plusNanos(java.nio.file.attribute.FileTime fileTime, long nanosToSubtract)
Adds nanoseconds from a source FileTime.- Parameters:
fileTime
- The source FileTime.nanosToSubtract
- The nanoseconds to subtract.- Returns:
- The resulting FileTime.
-
plusSeconds
public static java.nio.file.attribute.FileTime plusSeconds(java.nio.file.attribute.FileTime fileTime, long secondsToAdd)
Adds seconds to a source FileTime.- Parameters:
fileTime
- The source FileTime.secondsToAdd
- The seconds to add.- Returns:
- The resulting FileTime.
-
setLastModifiedTime
public static void setLastModifiedTime(java.nio.file.Path path) throws java.io.IOException
Sets the last modified time of the given file path to now.- Parameters:
path
- The file path to set.- Throws:
java.io.IOException
- if an I/O error occurs.
-
toDate
public static java.util.Date toDate(java.nio.file.attribute.FileTime fileTime)
ConvertsFileTime
to aDate
. If the provided FileTime isnull
, the returned Date is alsonull
.- Parameters:
fileTime
- the file time to be converted.- Returns:
- a
Date
which corresponds to the supplied time, ornull
if the time isnull
. - See Also:
toFileTime(Date)
-
toFileTime
public static java.nio.file.attribute.FileTime toFileTime(java.util.Date date)
ConvertsDate
to aFileTime
. If the provided Date isnull
, the returned FileTime is alsonull
.- Parameters:
date
- the date to be converted.- Returns:
- a
FileTime
which corresponds to the supplied date, ornull
if the date isnull
. - See Also:
toDate(FileTime)
-
toNtfsTime
public static long toNtfsTime(java.util.Date date)
Converts aDate
to NTFS time.- Parameters:
date
- the Date- Returns:
- the NTFS time
-
toNtfsTime
public static long toNtfsTime(java.nio.file.attribute.FileTime fileTime)
Converts aFileTime
to NTFS time (100-nanosecond units since 1 January 1601).- Parameters:
fileTime
- the FileTime- Returns:
- the NTFS time in 100-nanosecond units
-
toNtfsTime
public static long toNtfsTime(long javaTime)
Converts Java time (milliseconds since Epoch) to NTFS time.- Parameters:
javaTime
- the Java time- Returns:
- the NTFS time
- Since:
- 2.16.0
-
toUnixTime
public static long toUnixTime(java.nio.file.attribute.FileTime fileTime)
ConvertsFileTime
to 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:
isUnixTime(long)
-
-