Как преобразовать файл последнего измененного времени в дату? - PullRequest
30 голосов
/ 03 апреля 2011

Как мне конвертировать File#lastModified() в реальную дату? Формат не очень важен.

Ответы [ 4 ]

43 голосов
/ 03 апреля 2011
Date d = new Date(file.lastModified());

lastModified () возвращает миллисекунды с 1970-01-01, и класс Date также сохраняет свое время таким же образом. Конструктор Date (long) берет эти миллисекунды и инициализирует с ним Date.

14 голосов
/ 02 февраля 2012

Просто вы используете класс SimpleDateFormat для конвертации длинных в дату.Только вы выполняете код:

new SimpleDateFormat("dd-MM-yyyy HH-mm-ss").format(
    new Date(new File(filename).lastModified()) 
);
6 голосов
/ 03 апреля 2011

В результате вы получите длинное число, представляющее число миллисекунд, истекшее с 1 января 1970 года. Это стандартный способ представления дат.

попробуйте это:

java.util.Date myDate = new java.util.Date(theFile.lastModified());

и теперь у вас есть объект Date.

Вы можете использовать SimpleDateFormat , чтобы печатать эту дату более привлекательным способом.

2 голосов
/ 03 апреля 2011
  1. Получите последнюю измененную временную метку, как описано в Дубликат вашего вопроса

  2. Создайте новый Date объект или Calendar объект. new Date(timestamp). Или Calendar.getInstance(), а затем позвоните setTimeInMillis(timestamp). Как следует из названия, отметка времени на самом деле представляет собой количество миллисекунд (с 1 января 1970 года)

  3. Затем вы можете отформатировать дату с помощью java.text.SimpleDateFormat

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...