当前位置: 首页 > 面试题库 >

Java ResultSet如何在UTC中获取TimeStamp

刘翔宇
2023-03-14
问题内容

数据库具有UTC中的数据,当我尝试获取数据时

java.util.Calendar cal = Calendar.getInstance();
cal.setTimeZone(TimeZone.getTimeZone("UTC"));
java.sql.Timestamp ts = resultSet.getTimestamp(PUBLISH_TIME);
cal.setTime(ts);

这有什么问题吗?


问题答案:

您的DateFormat实例很可能以本地时间显示该值。在显示您的价值时,尝试一下:

java.util.Calendar cal = Calendar.getInstance();
cal.setTimeZone(TimeZone.getTimeZone("UTC"));
java.sql.Timestamp ts = resultSet.getTimestamp(PUBLISH_TIME);
cal.setTime(ts);

SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss z");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
System.out.println(sdf.format(cal.getTime()));

编辑:对您的评论:

如果我使用GMT,那在SimpleDateFormat中会是一个问题吗?

SimpleDateFormat可以使用常规时区(GMT
+/-
n),RFC822和文本(如JavaDoc所述,“如果它们具有名称”,



 类似资料:
  • 问题内容: 我在Java中的Date类遇到问题。日期类返回本地机器日期,但我需要UTC-0。 我已经在Google上搜索,找到了JavaScript的绝佳解决方案,但Java却没有任何用处。 如何在Java 8中获取UTC + 0日期? 问题答案: 使用Java 8,您可以编写: 要回答您的评论,您可以将其转换为日期(除非您依赖于旧代码,我看不见任何原因)或自时代以来转换为毫。

  • 问题内容: 在编写Web应用程序时,将 所有 日期时间(服务器端)存储在数据库中作为UTC时间戳是有意义的。 当我发现您无法在JavaScript中对时区进行操作方面自然无法做到这一点时,我感到非常惊讶。 我稍微扩展了Date对象。这个功能有意义吗?基本上,每次我向服务器发送任何内容时,都会使用该功能格式化时间戳记。 您在这里看到任何重大问题吗?还是从另一个角度解决问题? 在我看来,这有点令人费解

  • 问题内容: 我无法通过以下方式获取MongoDB记录的JavaScript Date字符串。它一直在使用我的当地时间。 输出: 我需要将其设置为UTC,因此我可以将时间戳记保留在Mongo中,所以键入为。 我怎样才能做到这一点? 问题答案: 时间戳记是时间点。通常,这可以通过经过epoc(1970年1月1日,美国中部时间UTC的Unix Epoc)后的毫秒数来表示。该时间点的格式取决于时区。虽然是

  • 问题内容: 我想获取UTC的当前时间。我到目前为止所做的是(仅出于测试目的): 是我的当地时间,那很好 是我的本地时间+ 1,但应该是本地时间-1 … 我的本地时区是UTC + 1(根据调试输出和此处的列表:https : //www.joda.org/joda- time/timezones.html )… 如何正确地从一个时区转换为另一个时区(包括毫秒表示)? 编辑 我需要日期/毫秒…这不是正

  • 我们的PL/SQL数据库有三个数字变量,分别表示确切的日期、月份和年份。 我想在Java中将这些值读入一个字符串来显示,但是rs.getString(“[Number_字段]”)会显示一个“Invalid Column Name”异常,而rs.getInt(“[Number_字段]”)会执行相同的操作(见下面的代码段)。而且,因为单词“number”被用来描述编码历史上创建的每一个字符串转换,所以

  • 问题内容: 我想获取UTC时区的时间。所以我写了代码: 问题是输出显示了我的PST时间(我的本地时区)。我需要它来输出UTC时间,以便将其存储在数据库中。 问题答案: