0
這個問題是殺死我,這裏是我的代碼問題用簡單的解析程序
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Converter
{
// 8/12/2010 12:20:34 PM
static String DATE_FORMAT = "MM/dd/yyyy h:MM:ss aa";
// from object to xml
public static String serializeNCCDate(Date d)
{
try
{
System.out.println("serializeNCCDate");
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
System.out.println("in from object: " + d.toLocaleString());
String s = sdf.format(d);
System.out.println("out to object: " + s);
return s;
} catch (Exception ex)
{
return null;
}
}
// from xml to object
public static Date deSerializeNCCDate(String s)
{
try
{
System.out.println("deSerializeNCCDate");
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
System.out.println("in from xml: " + s);
Date d = sdf.parse(s);
System.out.println("out to object: " + d.toLocaleString());
return d;
} catch (ParseException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
然後運行我的測試即時通訊把一個XML文檔轉換成我的XML引擎(JiBX的)轉換爲一個對象,然後把將對象轉換回jibx將其轉換回字符串。當我試圖從我的XML序列化的日期「2010/8/12下午12點二十分34秒」,這是結果我得到
deSerializeNCCDate
in from xml: 8/12/2010 12:20:34 PM
out to object: Aug 12, 2011 12:00:34 PM
serializeNCCDate
in from object: Aug 12, 2011 12:00:34 PM
out to object: 08/12/2011 12:08:34 PM
爲什麼是我多年和分鐘不應該是什麼?似乎每次解析函數被調用的輸出都應該被改變。這是非常簡單的東西,爲什麼它不工作?我可以理解時區差異的時間,但時間和分鐘?
GAHHHH,謝謝我在另一個網站上看到的圖表是錯誤的。嘖嘖,只是浪費了一個小時,感謝 – scphantm 2010-08-19 20:40:20