new File(url).lastModified()
returns a long
equal to the number of milliseconds since the epoch, which is GMT-based.
What is a simple way to convert this to a String
representing system-local date/time?
If you really need to see an attempt from me here it is but it's a terrible mess and it's wrong anyway:
LocalDateTime.ofEpochSecond(new File(url).lastModified()/1000,0,ZoneOffset.UTC).atZone(ZoneId.of("UTC")).format(DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG))
Beyond LocalDateTime
I just have no idea how the time API works.
The last modifying date of the file can get through Java using the File class of Java i.e File. LastModified() method. The File class is Java's representation of a file or directory pathname.
Using getlastmod() Function: The getlastmod() function is used to get the last modification time of the current page.
The lastModified() method of the File class returns the last modified time of the file/directory represented by the current File object. You can get the last modified time of a particular file using this method.
Call os. path. getmtime(path) to find the last modified time of a file at path . The time will be returned as a float giving the number of seconds since the epoch (the platform dependent point at which time starts).
To get the last modified time of a file, you should use Java NIO.2 API, which directly resolves your problem:
FileTime fileTime = Files.getLastModifiedTime(Paths.get(url));
System.out.println(fileTime); // will print date time in "YYYY-MM-DDThh:mm:ss[.s+]Z" format
If you want to access other properties (like last access time, creation time), you can read the basic attributes of a path with Files.readAttributes(path, BasicFileAttributes.class)
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With