Метка времени MySQL для преобразования даты в Java

Как преобразовать метку времени в unix в нормальное время?

6
задан BalusC 13 August 2010 в 11:11
поделиться

2 ответа

Ваш вопрос расплывчатый и неоднозначный. Я оставлю двусмысленность часового пояса.

Как мне преобразовать время из метки времени unix в нормальное время?

Я подозреваю, что вы каким-то образом получаете long или, может быть, значение String из БД вместо a Дата . В JDBC вы обычно хотели бы использовать соответствующие методы для получения типов данных, специфичных для БД. Тип данных MySQL TIMESTAMP может быть получен с помощью ResultSet # getTimestamp () , который дает вам java.sql.Timestamp , который, в свою очередь, является подклассом java.util.Date .

В общем, следует сделать следующее:

Date date = resultSet.getTimestamp("columnname");

Для дальнейшего форматирования в удобочитаемом формате всякий раз, когда вы собираетесь представить его конечному пользователю, используйте SimpleDateFormat . Щелкните ссылку, она содержит обзор всех шаблонов. Вот пример:

String dateString = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);

Чтобы сделать все наоборот, используйте соответственно SimpleDateFormat # parse () и PreparedStatement # setTimestamp () .

21
ответ дан 8 December 2019 в 05:19
поделиться

Временная метка Unix - секунды, прошедшие с "эпохи". CurrentTimeMillis в Java - это миллисекунды с «эпохи». Вы можете получить объект Java Date простым умножением, как это:

 Date dateFromUnixTime = new Date( 1000l * unixTime) ;

Оттуда вы можете отформатировать его, используя обычные инструменты форматирования даты в Java.

2
ответ дан 8 December 2019 в 05:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: