2013-04-17 77 views
-1

我有這樣的方法:java.util.Date有兩個不同的輸出?

void updatePet(String userid, int index, int happiness, Date lastUpdated, PetLifePhase state, Date created) 

它所有通話記錄(通過反射Proxy)。的參數是String.valueOf()「d和級聯:

updatePet(xxxxxxxx,18,-96,Wed Apr 17 08:10:11 UTC 2013,ACTIVE,2013-04-10 08:01:12.442) 

注意的兩個Date參數的輸出:

  • lastUpdatedWed Apr 17 08:10:11 UTC 2013(如下Date.toString()的Javadoc)
  • created2013-04-10 08:01:12.442

怎麼樣,爲什麼,什麼時候,啊?爲什麼相同的方法會輸出兩種不同的格式?我已經看過這個toString()的源代碼,但它非常硬編碼輸出第一種格式,沒有if可能會另外決定。

+0

1)的情況下,可能是一個是'java.util.Date',而第二個是'Calendar' 3)你是否同步? – Dewfy

+0

它們是Date對象的相同類型(類)嗎? – NilsH

+0

檢查您的課程導入。你使用的是同一個Date類嗎? – Drogba

回答

0

您確定您的兩個Date s實際上是相同類型的Date嗎?

它們可以是重寫toString()方法不同(如Timestamp其中不覆蓋toString())的Date亞型。

+1

好的,在內部切換到JodaTime'DateTime's。至少那個班是'final':p –

0

我的猜測是created是子類Timestamp,其格式爲yyyy-mm-dd hh:mm:ss.fffffffff

0

幾乎centainly,你有一個參數是java.util.Date一個實例,另一這是你能提供形成日誌記錄2)你怎麼罵`updatePet`代碼java.sql.Datejava.sql.Timestamp

相關問題