Как мне преобразовать File#lastModified()
в реальную дату? Формат не очень важен.
Как преобразовать файл последней измененной метки времени в дату?
Ответ 1
Date d = new Date(file.lastModified());
lastModified() возвращает миллисекунды с 1970-01-01, а класс Date также сохраняет свое время так же. Конструктор Date (long) принимает эти миллисекунды и инициализирует Date с ним.
Ответ 2
Просто вы используете класс SimpleDateFormat
для конвертирования долгого времени.
Только вы выполняете код:
new SimpleDateFormat("dd-MM-yyyy HH-mm-ss").format(
new Date(new File(filename).lastModified())
);
Ответ 3
То, что вы получаете, - это длинное число, представляющее количество миллисов, прошедших с 1 января 1970 года. Это стандартный способ представления дат.
попробуйте следующее:
java.util.Date myDate = new java.util.Date(theFile.lastModified());
и теперь у вас есть объект Date.
Вы можете использовать SimpleDateFormat, чтобы напечатать эту дату средним способом.
Ответ 4
-
Получите последнюю измененную метку времени, как описано в дубликат вашего вопроса
-
Создайте новый объект
Date
или объектCalendar
.new Date(timestamp)
. ИлиCalendar.getInstance()
, а затем вызовитеsetTimeInMillis(timestamp)
. Как следует из названия, временная метка на самом деле составляет несколько миллисекунд (с 1 января 1970 года). -
Затем вы можете отформатировать дату с помощью
java.text.SimpleDateFormat