2010-06-30 42 views
0

我收到一个文件的最后修改日期日期的格式,使用下面的代码:如何改变从毫秒

xmlUrl = new URL("http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html"); 
URLConnection urlconn = xmlUrl.openConnection(); 
urlDate = new Date(urlconn.getLastModified()); 

在结果,我在下面的格式得到日期:

Tue Dec 18 05:11:33 Asia/Karachi 2007 

我想将其更改为简单的DD MMM yyyy格式

我用:

SimpleDateFormat format = new SimpleDateFormat("dd MMM yyyy"); 
try { 
     tempDate = format.parse(urlDate.toString()); 

    } catch (ParseException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

但它并没有帮助我解决这个问题,我仍然以上述长格式获取日期。

回答

5
tempDate = format.parse(urlDate.toString()); 

这是倒退,应该导致异常。 A DateFormat用于在StringDate两种方式之间转换,并且格式字符串必须始终匹配String一侧的模式。

你想要的是这样的:

tempDate = format.format(urlDate); 
+0

tempDate = format.format(urlDate) 不工作,因为格式(Date)方法返回一个字符串,tempDate为Date类型的变量。 我做了什么 DateFormat format = DateFormat.getDateInstance(DateFormat.FULL); tempDate = format.format(urlDate); 即使我试图投它,但没有使用:( – kaibuki 2010-06-30 08:49:31

+0

@kaibuki:日期不具有*格式,它始终是一个精度为毫秒的时间戳。如果要以特定格式显示它,那意味着将其转换成一个字符串。 – 2010-06-30 09:20:09