格式化日期時出現問題。我想下面的輸出:Java格式化日期
YYYY-MM-DDTHH:MM:SS + 02:00
凡+02:00
取決於你所在的時區,在我的情況歐洲/阿姆斯特丹
我有這樣的功能:
public String marshal(Date d) throws Exception
{
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
String s = formatter.format(d);
return s;
}
但它給我:
2017-05-10T14:56:46 + 0200
我哪有時區小時/分鐘,其間一個額外的冒號?
嘗試 「YYYY-MM-dd'T'HH:MM:ssXXX」。請參閱http://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html – bradimus
此格式由ISO 8601標準定義。 「ISO 8601」的搜索堆棧溢出查看許多現有帖子。在發佈之前,您應該始終徹底搜索。另一件事,避免使用舊的遺留日期 - 時間類;現在被java.time類取代。 –
這似乎已被問及已回答:[http://stackoverflow.com/a/16289344/7750124](http://stackoverflow.com/a/16289344/7750124)但是,我會讀入文檔作爲@ f1sh解釋說它會幫助你更好地理解你的問題。上面鏈接中的解決方案似乎指向相同的答案。 – Koshux