+-
用于存储日期和时间的最合适的SQL和Java数据类型
参见英文答案 > Handling MySQL datetimes and timestamps in Java                                    3个
为这个有点广泛的问题提前道歉.

使用以下格式处理日期和时间的最合适的MySQL和Java数据类型是什么:yyyy.MM.dd hh:mm:ss

我需要能够转换日期和时间的字符串表示形式.到达给定日期格式的时间,然后将该日期和时间存储在数据库中.然后,我需要反向并转换MySQL日期&时间进入相应的Java表示

我已经阅读了很多关于Date,DateTime,ZonedDateTime的问题,但这些问题似乎都没有.

谢谢.

最佳答案
使用以下格式处理日期和时间的最合适的MySQL和Java数据类型是什么:yyyy.MM.dd hh:mm:ss

最合适的MySQL类型是DATETIME.见Should I use field ‘datetime’ or ‘timestamp’?.

在持久层(jdbc类型)中使用的相应Java类型是java.sql.Timestamp.见Java, JDBC and MySQL Types.

我需要能够转换日期和时间的字符串表示形式.到达给定日期格式的时间,然后将该日期和时间存储在数据库中.

正确的转换是:java.lang.String – > java.util.Date – > java.sql.Timestamp中.

> java.lang.String – > java.util.Date:

Date javaDatetime = new SimpleDateFormat(“yyyy.MM.dd hh:mm:ss”).parse(stringDatetime);

> java.util.Date – > java.sql.Timestamp中:

时间戳jdbcDatetime = new Timestamp(javaDatetime.getTime());

然后,我需要反向并转换MySQL日期&时间进入相应的Java表示

做反向路径:

> java.sql.Timestamp – > java.util.Date:

Date javaDatetime = new java.util.Date(jdbcDatetime.getTime());

> java.lang.Date – > java.util.String:

String stringDatetime = new SimpleDateFormat(“yyyy.MM.dd hh:mm:ss”).format(javaDatetime);

我一直很简洁.您必须注意SimpleDateFormat的使用(例如,缓存已使用applyPattern和setLenient初始化的实例).

点击查看更多相关文章

转载注明原文:用于存储日期和时间的最合适的SQL和Java数据类型 - 乐贴网