我最近發現Oracle與給定日期(使用ADD_MONTHS函數)之間存在幾個月的差異,以及Java將日期添加到Calendar對象的方式。oracle add_months函數不同於Java
例如在Oracle:
select add_months('2009-02-28', +1) from dual;
產生的結果是: 「31年9月3日」
和查詢:
select add_months('2009-02-28', -1) from dual;
產生的結果爲「09-01- 31「
但是在Java中,相同計算的結果(使用GregorianCalendar.add()方法)是(分別): 09-03-28 和 09-01-28
有什麼方法可以使Oracle和Java的行爲相同嗎? (例如在oracle中的某些設置或Java中的某個參數)?
當Oracle接管Sun時,問題會奇蹟般地修復它自己...... NOT :-) – 2009-09-25 05:56:06