java - 将 java.util.Calendar ISO 8601 格式转换为 java.sql.Timestamp

标签 java calendar timestamp

我有一个 ISO 8601 日期格式的日期 2015-09-08T01:55:28Z。我使用此代码将 ISO 8601 命运转换为日历对象:

Calendar cal = javax.xml.bind.DatatypeConverter.parseDateTime("2015-09-08T01:55:28Z");

现在我需要使用 cal.getTime() 来获取我的时间,但我需要将它转换为 java.sql.Timestamp。我试着这样做:

final Timestamp finalDate = (Timestamp) cal.getTime();

但是我得到了这个错误:

java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Timestamp

想法?

最佳答案

如异常所示:Calendar::getTime()返回 java.util.Date对象,不是 java.sql.Timestamp目的。所以您不能将其转换为 Timestamp 对象。

使用:

Timestamp timestamp = new Timestamp(cal.getTimeInMillis());

同时考虑替换Calendar与新 Date & Time API在 Java SE 8 中引入。

关于java - 将 java.util.Calendar ISO 8601 格式转换为 java.sql.Timestamp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32461307/

相关文章:

java - 从 android 调用 Web 服务 - NullPointerException

c++ - C/C++ - 检查今天是否是本月的第一个星期一

java - 将 Timestamp 对象的值复制到另一个对象

java - 获取一个月的第三个星期五

mysql - 如何仅获取过去 30 天内特定时段的数据

postgresql - 使用 UTC 中的当前时间作为 PostgreSQL 中的默认值

java - 如何使用 Tomcat 8.5.15 配置 log4j2

java - 两个字符串应该相等?

java - 比较和更新两个arraylist java android

java - 从纪元以来的几天获取 java.util.Calendar