SimpleDateFormat格式化“2016-12-15T00:46:28+08:00” 柔光的暖阳◎ 2022-07-13 10:37 21阅读 0赞 #### 需求:把“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); #### 执行代码,抛出以下异常: #### Exception in thread "main" java.lang.IllegalArgumentException: Illegal pattern character 'T' 看来SimpleDateFormat不能解析字符’T’,在网上搜了才知道这种格式是国际标准的格式【[ISO 8601 format][]】,【joda-time】支持解析这种格式的字符串,通过toDate方法就能获取java中的Date,如下: new DateTime(publishDate).toDate(); #### 参考资料: #### > [http://stackoverflow.com/questions/6406470/java-simpledateformat][http_stackoverflow.com_questions_6406470_java-simpledateformat] [ISO 8601 format]: https://zh.wikipedia.org/wiki/ISO_8601 [http_stackoverflow.com_questions_6406470_java-simpledateformat]: http://stackoverflow.com/questions/6406470/java-simpledateformat
还没有评论,来说两句吧...