需求:把“2016-12-15T00:46:28+08:00”字元串轉成java中的Date,剛開始使用jdk内置的SimpleDateFormat來實作:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-ddTHH:mm:ssz");
String publishDate = "2017-01-05T09:02:11+08:00";
sdf.parse(publishDate);
執行代碼,抛出以下異常:
看來SimpleDateFormat不能解析字元’T’,在網上搜了才知道這種格式是國際标準的格式【ISO 8601 format】,【joda-time】支援解析這種格式的字元串,通過toDate方法就能擷取java中的Date,如下:
new DateTime(publishDate).toDate();
參考資料:
http://stackoverflow.com/questions/6406470/java-simpledateformat