java - 如何保留日期信息?

标签 java date

在java中,我想知道保留日期信息以供显示、查询、报告等的最佳实践是什么。似乎如果我们坚持这么久,所有时区依赖性都将被删除,并且我们将保持“全局保留,本地显示”原则,因为Date对象会自动将long转换为当前时区。

但是保留为 Date 对象有什么好处?
除了信息所有者的时区之外,我是否会丢失任何信息?
当 DLS 考虑时我会得到任何错误的信息吗?
持久保存为 UTC 日期和 long 之间的区别只是可读的数据库信息?

最佳答案

根据您的数据库,您应该使用 TIMESTAMP WITH TIMEZONE 或将其转换为 UTC 时间并将其存储为 long

第一个依赖于数据库来正确处理它(数据库会,但是你的数据库驱动程序会吗?你必须针对你的设置进行测试)。第二个使其成为一个手动过程,您最终会得到正确的结果,但会遇到更多麻烦,因为您必须照顾一切。

在 Java 内部,您可能希望使用 Calendar 而不是 Date,因为您可以手动指定 TIMEZONE 等,这样您就可以更轻松地显示与您所在时区不同的日期。

关于java - 如何保留日期信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16665108/

相关文章:

java - Sugar CRM 与 Java 集成 - 如何添加关系

java - Action初始化的差异

python - 连接/连接/合并两个缺失一列的数据框

Python 查询最旧日期列表

java - 无法对原始类型 void 调用 format(Date)

java - 将 Vaadin 用于 OfBiz 网站

java - Android 录制内部设备声音

json - 如何使用 JQ 从今天的日期减去 6 个月?

java - 在将字符串转换为日期期间定义您的月份

javascript - 根据javascript中的时区更新时间