Class FileTimes
- java.lang.Object
-
- org.apache.commons.io.file.attribute.FileTimes
-
public final class FileTimes extends java.lang.ObjectHelps useFileTimeand interoperate Date and NTFS times.- Since:
- 2.12.0
-
-
Field Summary
Fields Modifier and Type Field Description static java.nio.file.attribute.FileTimeEPOCHConstant for the1970-01-01T00:00:00Zepochas a time stamp attribute.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.nio.file.attribute.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(java.nio.file.attribute.FileTime time)Tests whether a FileTime can be safely represented in the standard UNIX time.static java.nio.file.attribute.FileTimeminusMillis(java.nio.file.attribute.FileTime fileTime, long millisToSubtract)Subtracts milliseconds from a source FileTime.static java.nio.file.attribute.FileTimeminusNanos(java.nio.file.attribute.FileTime fileTime, long nanosToSubtract)Subtracts nanoseconds from a source FileTime.static java.nio.file.attribute.FileTimeminusSeconds(java.nio.file.attribute.FileTime fileTime, long secondsToSubtract)Subtracts seconds from a source FileTime.static java.nio.file.attribute.FileTimenow()Obtains the current instant FileTime from the system clock.static java.util.DatentfsTimeToDate(long ntfsTime)Converts NTFS time (100 nanosecond units since 1 January 1601) to Java time.static java.nio.file.attribute.FileTimentfsTimeToFileTime(long ntfsTime)Converts NTFS time (100-nanosecond units since 1 January 1601) to a FileTime.static java.nio.file.attribute.FileTimeplusMillis(java.nio.file.attribute.FileTime fileTime, long millisToAdd)Adds milliseconds to a source FileTime.static java.nio.file.attribute.FileTimeplusNanos(java.nio.file.attribute.FileTime fileTime, long nanosToSubtract)Adds nanoseconds from a source FileTime.static java.nio.file.attribute.FileTimeplusSeconds(java.nio.file.attribute.FileTime fileTime, long secondsToAdd)Adds seconds to a source FileTime.static voidsetLastModifiedTime(java.nio.file.Path path)Sets the last modified time of the given file path to now.static java.util.DatetoDate(java.nio.file.attribute.FileTime fileTime)ConvertsFileTimeto aDate.static java.nio.file.attribute.FileTimetoFileTime(java.util.Date date)ConvertsDateto aFileTime.static longtoNtfsTime(long javaTime)Converts Java time (milliseconds since Epoch) to NTFS time.static longtoNtfsTime(java.nio.file.attribute.FileTime fileTime)Converts aFileTimeto NTFS time (100-nanosecond units since 1 January 1601).static longtoNtfsTime(java.util.Date date)Converts aDateto NTFS time.static longtoUnixTime(java.nio.file.attribute.FileTime fileTime)ConvertsFileTimeto 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.IOExceptionSets 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)
ConvertsFileTimeto aDate. If the provided FileTime isnull, the returned Date is alsonull.- Parameters:
fileTime- the file time to be converted.- Returns:
- a
Datewhich corresponds to the supplied time, ornullif the time isnull. - See Also:
toFileTime(Date)
-
toFileTime
public static java.nio.file.attribute.FileTime toFileTime(java.util.Date date)
ConvertsDateto aFileTime. If the provided Date isnull, the returned FileTime is alsonull.- Parameters:
date- the date to be converted.- Returns:
- a
FileTimewhich corresponds to the supplied date, ornullif the date isnull. - See Also:
toDate(FileTime)
-
toNtfsTime
public static long toNtfsTime(java.util.Date date)
Converts aDateto NTFS time.- Parameters:
date- the Date- Returns:
- the NTFS time
-
toNtfsTime
public static long toNtfsTime(java.nio.file.attribute.FileTime fileTime)
Converts aFileTimeto 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)
ConvertsFileTimeto 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)
-
-