【发布时间】:2015-08-25 19:55:48
【问题描述】:
package testOnly;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Tests {
public static void main(String[] args) throws Exception {
Tests test = new Tests();
String s = "8/24/2015 3:09:51.000000 AM";
String s2 = "fmMMfm/fmDDfm/YYYY fmHH12fm:MI:SS.FF AM";
test.to_timestamp(s, s2);
}
Timestamp to_timestamp(String dateText, String oraclePattern) throws Exception {
String javaDatePattern = null;
if (oraclePattern.equals("fmMMfm/fmDDfm/YYYY fmHH12fm:MI:SS.FF AM")) {
javaDatePattern = "MM-dd-yyyy HH.mm.ss.SS a";
}
if (javaDatePattern==null) {
throw new RuntimeException("Unhandled oracle date pattern");
}
SimpleDateFormat sdf = new SimpleDateFormat(javaDatePattern);
Date date= sdf.parse(dateText);
return new Timestamp(date.getTime());
}
}
//Sample data
//TO_TIMESTAMP('8/24/2015 3:09:51.000000 AM','fmMMfm/fmDDfm/YYYY fmHH12fm:MI:SS.FF AM')
所以在 oracle 中有 To_Date、To_TimeStamp 等函数。我想将 oracle 样式转换为 java simpleDateFormat 但是我不断收到无法解析的日期错误我想知道是否有人能够看到我看不到的内容。
【问题讨论】:
-
为什么?您是否有理由保留时间戳 strings 而不是实际的 Date 对象?另请注意,您方法中的
oraclePattern参数仅用作标志,并没有将其用作字符串。