Как я могу преобразовать метку времени в объект Date или DateTime? - PullRequest
17 голосов
/ 21 сентября 2011

Я извлекаю объект метки времени из базы данных, используя ResultSet.getTimestamp(), но я хотел бы получить простой способ получить дату в формате MM/DD/YYYY и время в формате HH:MM xx.Я возился, похоже, я могу сделать это, используя объекты Date и / или DateTime в Java.Это лучший способ, или мне даже нужно преобразовать метку времени, чтобы достичь этого?Любые рекомендации будут полезны.

....
while(resultSet.next()) {
    Timestamp dtStart = resultSet.getTimestamp("dtStart");
    Timestamp dtEnd = resultSet.getTimestamp("dtEnd");

    // I would like to then have the date and time
    // converted into the formats mentioned...
    ....
}
....

Ответы [ 3 ]

21 голосов
/ 21 сентября 2011
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateTest {

    public static void main(String[] args) {
        Timestamp timestamp = new Timestamp(System.currentTimeMillis());
        Date date = new Date(timestamp.getTime());

        // S is the millisecond
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM/dd/yyyy' 'HH:mm:ss:S");

        System.out.println(simpleDateFormat.format(timestamp));
        System.out.println(simpleDateFormat.format(date));
    }
}
15 голосов
/ 21 сентября 2011

java.sql.Timestamp является подклассом java.util.Date. Так что просто подбрось это.

Date dtStart = resultSet.getTimestamp("dtStart");
Date dtEnd = resultSet.getTimestamp("dtEnd");

Использование SimpleDateFormat и создание Joda DateTime должно быть простым с этого момента.

0 голосов
/ 10 ноября 2016

Вы также можете получить объект DateTime из отметки времени, включая текущее летнее время:

public DateTime getDateTimeFromTimestamp(Long value) {
    TimeZone timeZone = TimeZone.getDefault();
    long offset = timeZone.getOffset(value);
    if (offset < 0) {
        value -= offset;
    } else {
        value += offset;
    }
    return new DateTime(value);
}    
...