MySQL时间戳到Java日期转换

时间:2010-08-13 02:11:59

标签: java mysql jdbc

如何将unix时间戳中的时间转换为正常时间?

2 个答案:

答案 0 :(得分:19)

你的问题含糊不清。我会把时区模糊不清。

  

如何将unix时间戳中的时间转换为正常时间?

我怀疑您以某种方式从数据库而不是long获取StringDate值。在JDBC中,您通常希望使用适当的方法来获取特定于数据库的数据类型。可以通过ResultSet#getTimestamp()获取MySQL TIMESTAMP数据类型,它会为您提供java.sql.Timestamp,而java.util.Date又是SimpleDateFormat的子类。

在坚果中,以下应该做:

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

如果要将其呈现给最终用户,要以人类可读的格式进一步格式化,请使用SimpleDateFormat#parse()。单击该链接,其中包含所有模式的概述。这是一个例子:

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

要完全相反,请分别使用PreparedStatement#setTimestamp()和{{3}}。

答案 1 :(得分:1)

Unix时间戳是“epoch”以来的秒数。 Java的currentTimeMillis是“epoch”以来的毫秒数。您可以通过简单的乘法获取Java Date对象,如下所示:

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

从那里,您可以使用Java中的普通日期格式化工具对其进行格式化。