我应该在SimpleDateFormat中使用什么模板?

时间:2012-04-03 14:51:50

标签: android simpledateformat

我的日期格式是这样的:

        2010-02-04T00:00:00

我使用此代码解析它:

        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-mm-ddTHH:mm:ss");
        Date parsed = dateFormat.parse("2010-02-04T00:00:00");

它返回异常。问题出在“T”字母中。如果服务器以这种格式返回它,我该如何解析这个日期?

4 个答案:

答案 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)

试试这个:

  dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");

以小时为单位编辑每分钟小写m次。请参阅doc

答案 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);

这会有用......