我的日期格式是这样的:
2010-02-04T00:00:00
我使用此代码解析它:
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-mm-ddTHH:mm:ss");
Date parsed = dateFormat.parse("2010-02-04T00:00:00");
它返回异常。问题出在“T”字母中。如果服务器以这种格式返回它,我该如何解析这个日期?
答案 0 :(得分:2)
SimpleDateFormat("yyyy-mm-dd'T'HH:mm:ss");
可以在这里阅读更多相关信息Using Alphabetic Characters in SimpleDateFormat Pattern String
答案 1 :(得分:1)
只需使用此字符串:"2010-02-04'T'00:00:00".
' - 字符会转义字母,因此不会将其解析为日期的一部分。
或者SimpleDateFormat的文档解释了它:
可以使用单引号(')引用文本以避免解释。 “''”代表单引号。所有其他角色都没有 解释;它们只是简单地复制到输出字符串中 在解析期间格式化或匹配输入字符串。
答案 2 :(得分:1)
答案 3 :(得分:1)
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss");
SimpleDateFormat sdf2 = new SimpleDateFormat("EEE MMM dd'T' hh:mm:ss z yyyy");
Date myDate = sdf.parse(strDate);
sdf2.format(myDate);
System.out.println(myDate);
这会有用......