Class FileTimes

java.lang.Object
org.apache.commons.io.file.attribute.FileTimes

public final class FileTimes extends Object
Helps use FileTime and interoperate Date and NTFS times.
Since:
2.12.0
  • Field Details

  • Method Details

    • fromUnixTime

      public static FileTime fromUnixTime(long time)
      Converts standard UNIX time (in seconds, UTC/GMT) to FileTime.
      Parameters:
      time - UNIX timestamp (seconds).
      Returns:
      the corresponding FileTime.
      Since:
      2.16.0
    • isUnixTime

      public static boolean isUnixTime(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 FileTime minusMillis(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 FileTime minusNanos(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 FileTime minusSeconds(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 FileTime now()
      Obtains the current instant FileTime from the system clock.
      Returns:
      the current instant FileTime from the system clock.
    • ntfsTimeToDate

      public static 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 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:
    • plusMillis

      public static FileTime plusMillis(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 FileTime plusNanos(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 FileTime plusSeconds(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(Path path) throws IOException
      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

      public static Date toDate(FileTime fileTime)
      Converts FileTime to a Date. If the provided FileTime is null, the returned Date is also null.
      Parameters:
      fileTime - the file time to be converted.
      Returns:
      a Date which corresponds to the supplied time, or null if the time is null.
      See Also:
    • toFileTime

      public static FileTime toFileTime(Date date)
      Converts Date to a FileTime. If the provided Date is null, the returned FileTime is also null.
      Parameters:
      date - the date to be converted.
      Returns:
      a FileTime which corresponds to the supplied date, or null if the date is null.
      See Also:
    • toNtfsTime

      public static long toNtfsTime(Date date)
      Converts a Date to NTFS time.
      Parameters:
      date - the Date
      Returns:
      the NTFS time
    • toNtfsTime

      public static long toNtfsTime(FileTime fileTime)
      Converts a FileTime 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(FileTime fileTime)
      Converts FileTime 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: