2012-09-05 30 views
0

我下面有下面的代码,我没有得到正确的日期 例如进入的日期是01/01/2013 12:35 但format.parse只返回dd/mm/yyyy和除了HH:MMSimpleDateFormat问题

这是一个样的日期时间03/09/2012 15点26分,并且该输出产生1346649960000

SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy hh:mm"); 
long data = format.parse(childNode.getTextContent()).getTime(); 

任何线索,为什么这将奇怪格式化时间?

+0

你想要什么?日期随着时间或只有日期? –

回答

1

我认为它给出了有效的输出。 getTime()返回自1970年1月1日00:00:00以来的毫秒数。所以,最后的3个零是毫秒

1

我看到你的代码2个问题:

  1. 如果您解析24小时格式化的时候,你必须使用,而不是HH HH。
  2. 您可能希望指定用于解析的时区,而您的时区中的15:26发生在另一时区的不同时间。

请参考下面我所提出的修正:

SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm"); 
format.setTimeZone(TimeZone.getTimeZone("UTC")); 
0

解决问题 原来它做java.sql.Date 香港专业教育学院改变了我的代码中使用的java.sql.Timestamp和它的作品现在好了。 Urgh!什么麻烦

这篇文章是一个帮助 http://tinyurl.com/9abrudl