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中的普通日期格式化工具对其进行格式化。