java - 如何在 DAO 类中获得预期的日期格式

标签 java jdbc

我在数据库中有时间戳格式,并且我的 setEventDate 方法需要日期格式。 所以在我的 DAO 类中有这样的内容:

                SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
                Timestamp dbDate = rows.getTimestamp("event_date");
                String dbDateToString = new SimpleDateFormat("HH:mm").format(dbDate);
                Date dbDateToDate = sdf.parse(dbDateToString);
                e.setEventDate(dbDateToDate);
                System.out.println(dbDateToString);
                System.out.println(dbDateToDate);

我从数据库获取时间戳,将其格式化为字符串,并在下一步中将其解析为日期。我知道这听起来很奇怪。结果是: 弦乐 - 17:08 日期 - 1970 年欧洲中部时间 1 月 1 日星期四 17:08:00

我不明白:/我需要“HH:mm”格式。

最佳答案

您正在从数据库中获取时间戳,您需要更改它日期首先

Timestamp dbDate = rows.getTimestamp("event_date");
Date d = new Date(dbDate.getTime();  

现在您可以进行 SimpleDateFormat 格式化操作

Timestamp dbDate = rows.getTimestamp("event_date");
Date d = new Date(dbDate.getTime());  
String dbDateOnlyHourAndMinutes = new SimpleDateFormat("HH:mm").format(dbDate);

那里你只有“日期”的小时和分钟。

关于java - 如何在 DAO 类中获得预期的日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49516996/

相关文章:

java - 将 Java 7 ODBC 类包含到 Java 8

java - 线程中的异常 "main"java.sql.SQLException : No suitable driver found for

java - 如何构造一个需要从构造函数传入值的方法?

java - 如何在google kubernetes中调用后端LoadBalancer服务?

java - Apache commons-lang StringEscapeUtils 不转义 XML

mysql - com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException : Variable 'sql_mode' can't be set to the value of 'NO_STRICT_TRANS_TABLES'

java - jdbc - sql server 在控制台中未显示任何输出/错误

java - 在 Java 代码中使用 JMeter JDBC 连接

java - Jsoup解析html页面中的特定图像

java - 如何使用java在windows中搜索文件