如何使用Java日历创建此日期:31-DEC-99 12.00.00.000000000 AM

时间:2013-01-18 16:32:12

标签: java calendar

我一直在使用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。这是一个真实的约会还是什么?

1 个答案:

答案 0 :(得分: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()));