3

我在 Java 字符串中有一个 Oracle 的时间戳字段

字符串 strDate = "24.12.12 03:30:00,000"; //Oracle的时间戳字段

我需要将其转换为 Java.util.Date。

请告诉我一种方法来做到这一点。

注意:我没有年份的前两位数字,java怎么能理解这是1912年或2012年等等。

4

1 回答 1

4

您想要的课程是SimpleDateFormat。您将创建一个与预期输入匹配的模式,并对其进行解析。这是一个示例,尽管在某些地方可能不正确(我使用了 0-23 小时,也许您想要 1-24 等)

String strDate = "24.12.12 03:30:00,000";
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yy HH:mm:ss,SSS");
Date date = sdf.parse(strDate);

关于您的 1912 与 2012 问题,Java 会在只有 2 位数字时做出一些假设。具体来说:

对于使用缩写年份模式(“y”或“yy”)进行解析,SimpleDateFormat 必须解释相对于某个世纪的缩写年份。它通过将日期调整为创建 SimpleDateFormat 实例之前的 80 年和之后的 20 年来实现这一点。

于 2012-04-18T16:23:55.103 回答