如何将时间戳转换为日期或日期时间对象?

2022-09-02 08:58:10

我正在使用 从数据库中检索时间戳对象,但我想要一种简单的方法来获取格式的日期和格式的时间。我正在四处修补,看起来我可以通过利用Java中的Date和/或DateTime对象来做到这一点。这是最好的方法,还是我甚至需要转换时间戳来实现此目的?任何建议都会有所帮助。ResultSet.getTimestamp()MM/DD/YYYYHH:MM xx

....
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...
    ....
}
....

答案 1
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));
    }
}

答案 2

java.sql.Timestampjava.util.Date 的子类。所以,只是把它扔掉。

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

从现在开始,使用SimpleDateFormat和创建Joda DateTime应该很简单。