2011-08-12 73 views
-1

我使用此代碼來設置舊日期並將其存儲在數據庫中,但是當我從數據庫中檢索它時,值將從我存儲的值中更改。請你指點一下正確的調試方向。Java時間異常

new Timestamp(new SimpleDateFormat("dd-MMM-yy").parse("31-DEC-79").getTime()) 

我在數據庫中看到的值是1981-07-12 00:00:00.0爲什麼有區別?

+0

它適合我。您確定您正在查看數據庫中的右列/行 – Kal

+0

是的,我的數據庫表中只有一列含有時間戳。我是否需要設置任何時區或此類? –

+0

您可以發佈您用於將此值存儲在數據庫中的代碼並在之後檢索它嗎? –

回答

0

對不起關於混亂,我在解析它時將月份換成月份。它正在工作和存儲,因爲它應該。

+0

想寫的只是:D –

2

這可能給一個線索:

new Timestamp(new SimpleDateFormat("MM-dd-yy").parse("31-12-79").getTime()); 
    // 1981-07-12 00:00:00.0 

1981年7月12日是今年79月31(我知道 - 無月31有,但Java將解析它這樣反正)第12天

您的日期/代碼不是發佈日期,或者您正確解析日期,但是您的數據庫預計日期採用美國格式(MM-dd-yy),並且您將日期以歐洲格式發送(dd -MM-yy) - 日/月正在交換。