我有一个 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/