2

我想将 oracle 时间戳(01-MAY-12 01.00.47.000000000 PM)解析为java.util.Date 我使用了这个:

Date dateStart=new SimpleDateFormat("yy-MM-dd HH:mm:ss.S").parse("01-MAY-12 01.00.47.000000000 PM");

但我得到这个错误

java.text.ParseException:无法解析的日期:“2012-5-1.13.0.47.0”

4

3 回答 3

6

你不应该解析任何东西。使用ResultSet.getTimestamp()方法之一,您将java.sql.Timestamp直接拥有一个对象,它扩展了java.util.Date.

java.sql.Timestamp ts = myResultSet.getTimestamp( … );

这将具有跨数据库和语言环境的门户网站的额外优势。

于 2012-05-16T09:35:50.173 回答
1

“yy-MM-dd”?

“12 年 5 月 1 日”

你的天数真的是“12”而你的年份真的是“01”吗?

你的错误怎么会显示“2012-5-1.13.0.47.0”,这可能是另一种格式的日期?

于 2012-05-16T12:54:04.257 回答
0

如果您尝试使用 JDBC 访问它,那么就像@JB Nizet 建议的那样使用getTimestamp(),或者如果您只有 String 并且需要解析为 Date 然后按照以下方式进行操作

尝试以下格式

01-MAY-12 01.00.47.000000000 PM

yy-MMM-dd hh.mm.ss.SSSSSSSSSS a
于 2012-05-16T09:33:43.077 回答