MySQL时间戳到Java日期转换

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

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

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

我怀疑你是以某种方式从DB而不是Date获取一个long或者一个String值。 在JDBC中,您通常希望使用适当的方法来获取特定于数据库的数据类型。 MySQL TIMESTAMP数据类型可以通过ResultSet#getTimestamp()获得,它为java.sql.Timestamp提供了java.sql.Timestamp ,而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()

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

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

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