将ZonedDateTime转换为字符串

时间:2016-04-15 22:47:59

标签: java datetime zoneddatetime

我需要将当前时间作为String存储在数据库中。时间可以在不同的时区,所以我正在考虑使用Java SE 8的新ZonedDateTime类。

我注意到toString()方法自动输出:

2016-04-15T17:40:49.305-05:00[America/Chicago]

这似乎也可以被ZonedDateTime.parse()读取并转换为正确的值。

如果我所做的只是存储这些值而我不需要将值转换为用户可读格式,那么我需要做的就是使用适当的时区准确存储数据吗?例如,如果我通过存储它们的toString()表示将两个ZonedDateTimes插入到SQL数据库中,之后我通过使用ZonedDateTime.parse()读取这些时间,我可以期待像isAfter()和isBefore()这样的东西才能正常工作细

或者我错过了介于两者之间的一步?在尝试在Java 7中找出时区之后,这感觉非常简单。

1 个答案:

答案 0 :(得分:1)

是的,这将准确存储日期,并且使用.parse()方法将允许您使用ZoneDateTime的其他方法。虽然如果您希望能够对数据库使用排序功能,那么您需要手动将ZonedDateTime转换为时间戳,或者使用ORM的功能为您完成。