我似乎無法看到下面的示例代碼的問題。出於某種原因,似乎忽略了一年,並說日期相同,如下面的輸出所示。我必須錯過簡單的東西。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