2013-04-17 46 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

相关问题