这个程序有问题吗?


import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateFormatTest {
public static void main(String[] args) throws Exception{
DateFormat format = new SimpleDateFormat("yyyy/MM/dd");
DateFormat f1 = DateFormat.getDateInstance();

Date date = format.parse("20081205");
System.out.println(date.toString());
}
请问大家这个程序有问题吗?为什么总是抛出java.text.ParseException: Unparseable date: "20081205"异常呢?

JDK 1.4.16,XP JAP

自己动手断点调试,开发工具会告诉你答案。

DateFormat format = new SimpleDateFormat("yyyy/MM/dd");
你既然这里定义了格式是"yyyy/MM/dd"
那你下面
Date date = format.parse("20081205");
为什么还是"20081205",你应该是:
Date date = format.parse("2008/12/05");

java.text.SimpleDateFormat date1=new java.text.SimpleDateFormat();
java.util.Date dd=date1.parse("Tue, 05 Sep 2006 09:16:59 GMT+8");
这个是正确的

java.text.SimpleDateFormat date1=new java.text.SimpleDateFormat();
java.util.Date dd=date1.parse("2005-8-8");
这个是错误的

java.text.SimpleDateFormat date1=new java.text.SimpleDateFormat("yyyy-MM-dd");
java.util.Date dd=date1.parse("2005-8-5");
这样正确

注意:SimpleDateFormat()里的参数有无,有是什么格式的
也就是说,("Tue, 05 Sep 2006 09:16:59 GMT+8")这种格式日期不用指定格式,应该是默认的格式,其他的要指定日期格式


[该贴被natural于2008-12-09 11:38修改过]

有问题
DateFormat format = new SimpleDateFormat("yyyy/MM/dd");
Date date = format.parse("20081205");这两句里的格式应该要一致