gpt4 book ai didi

java - MySQL、Java 和时区

转载 作者:行者123 更新时间:2023-11-29 00:42:26 25 4
gpt4 key购买 nike

我在 MySQL 数据库中有一个日期时间类型的字段 some_field。我可以使用 recordSet.getTimestamp("somefield") 查询数据,它返回一个 java.sql.Timestamp 对象。但是,返回值存储 UTC 时间。现在如果知道时区是“美国/芝加哥”,我该如何转换时间。我必须处理 DST。

最佳答案

我认为您可能需要忽略 Timestamp 的亚毫秒精度 - 这可能是合理的,就好像您要转换到特定时区一样,这表明它应该是“人类”日期。无论如何:

TimeZone zone = TimeZone.getTimeZone("America/Chicago");
Calendar calendar = Calendar.getInstance(zone); // Also locale?
calendar.setTime(timestamp);

现在您可以向日历询问您想要的任何值 - 日期、一天中的小时等。

或者,您可能需要考虑使用 Joda Time ,这是一个更好的日期/时间 API:

DateTimeZone zone = DateTimeZone.forID("America/Chicago");
DateTime dateTime = new DateTime(timestamp.getTime(), zone);

关于java - MySQL、Java 和时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11748658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com