我在Java String中有一个Oracle的时间戳字段
String strDate =“24.12.12 03:30:00,000”; // Oracle的时间戳字段
我需要将其转换为Java.util.Date。
请告诉我一种方法。
注意:我今年没有前两位数字,java如何理解这是1912年或2012年等等。
答案 0 :(得分:2)
您想要的课程是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年的问题,当只有2位数时,Java会做出一些假设。具体来说,“对于使用缩写年份模式(”y“或”yy“)进行解析,SimpleDateFormat必须解释相对于某个世纪的缩写年份。它通过将日期调整为在80年前和20年后的时间来实现这一点。 SimpleDateFormat实例已创建。“