new File(url).lastModified()
возвращает long
, равное количеству миллисекунд, начиная с эпохи, основанной на GMT.Получить последнюю дату и время изменения файла как локальную строку даты/времени
Что такое простой способ конвертировать это в String
, представляющий системно-локальную дату/время?
Если вам действительно нужно, чтобы увидеть попытку у меня здесь, но это ужасный беспорядок, и это неправильно так или иначе:
LocalDateTime.ofEpochSecond(new File(url).lastModified()/1000,0,ZoneOffset.UTC).atZone(ZoneId.of("UTC")).format(DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG))
За LocalDateTime
я просто понятия не имею, как время API работает в.
Можно ли форматировать 'FileTime' по-другому, чтобы по умолчанию, без первого возврата к квадрату с помощью' FileTime :: toMillis'? – Museful
@tennenrishin Да, вы можете получить Instant с ['toInstant()'] (https://docs.oracle.com/javase/8/docs/api/java/nio/file/attribute/FileTime.html#toInstant -) и отформатируйте его, используя ['DateTimeFormatter'] (https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html). – Tunaki
'DateTimeFormatter.ofPattern (« uuuu-MMM-dd HH: mm: ss »). Format (fileTime.toInstant())' throws 'java.time.temporal.UnsupportedTemporalTypeException: Неподдерживаемое поле: год для меня. Что я делаю не так? – Museful