0

我一直在使用 Oracle 数据库,目前在数据库上这个日期是默认日期,如我的数据库工具中所示:

31-DEC-99 12.00.00.000000000 AM

我正在尝试将它用作数据库上的键(我知道这是个坏主意)但无法匹配日期。由于 UTC 原因,我不得不从 java.util.Date 切换到 java.util.Calendar,现在我无法重现上述日期。我试过了:

new GregorianCalendar(9999, 11, 31, 0, 0) - 31-Dec-99 00.00.00.000000000 AM

Calendar d1 = new GregorianCalendar(9999, 11, 31,0,0);
d1.set(Calendar.HOUR_OF_DAY, 0);
d1.set(Calendar.MINUTE, 0);
d1.set(Calendar.SECOND, 0);
d1.set(Calendar.MILLISECOND, 0);
Same result.

我也尝试过获取 Long 值。我从数据库中提取它(使用 getAll)并获得长值:

Calendar d2 = Calendar.getInstance();
d2.setTime(new Date(253402236000000));

但这也不起作用。有任何想法吗?

我从来没有得到一个格式化的日期来读取 31-DEC-99 12.00.00.000000000 AM。这是真正的约会还是什么?

4

1 回答 1

0
    Calendar date = new GregorianCalendar(9999, 11, 31, 0, 0);
    DateFormat format = new SimpleDateFormat("dd-MMM-yy h.mm.ss.000000000 a");
    System.out.println(format.format(date.getTime()));
于 2013-01-18T16:59:03.013 回答