我似乎无法看到下面的示例代码的问题。出于某种原因,似乎忽略了一年,并说日期相同,如下面的输出所示。我必须错过简单的东西。java字符串datetime转换问题
2006年1月28日
2007年1月16日
星期二4月1日00:00:00 PDT 2008
星期二4月1日00:00:00 PDT 2008
做
import java.util.*;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
class ExampleProgram {
public static void main(String[] args){
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
String d1String = "01/28/2006";
String d2String = "01/16/2007";
System.out.println(d1String);
System.out.println(d2String);
Date d1=null;
try {
d1 = df.parse(d1String);
} catch (ParseException e) {
System.out.println(e.getMessage());
}
Date d2=null;
try {
d2 = df.parse(d2String);
} catch (ParseException e) {
System.out.println(e.getMessage());
}
System.out.println(d1);
System.out.println(d2);
System.out.println("done");
}
}
一个愚人节玩笑?这似乎是非常设计的,日期对应于4月1日。+ 1年,-12个月==同日期。 如果你的dateformat对象是严格的(df.setLenient(false)),那么它会引发你的错误。 – evnafets 2009-04-14 04:31:38