解析Java日期

时间:2011-09-07 19:54:49

标签: java

如何将Java中的以下日期从字符串表示形式解析为java.util.Date?

2011-07-12T16:45:56

我尝试了以下内容:

private Date getDateTime(String aDateString) {
    Date result = new java.util.Date();
    SimpleDateFormat sf = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
    try
    {
        result = sf.parse(aDateString);
    }
    catch (Exception ex)
    {
        Log.e(this.getClass().getName(), "Unable to parse date: " + aDateString);
    }
    return result;
}

3 个答案:

答案 0 :(得分:5)

您没有使用正确的日期格式模式。年/月/日分隔符显然是错误的,您需要文字'T'。试试这个:

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

对于记录,这是ISO 8601组合的日期和时间格式。

答案 1 :(得分:3)

您的日期格式模式不正确。它应该是yyyy-MM-dd'T'HH:mm:ss

要解析像“2011-07-12T16:45:56”这样的日期,您需要使用: -

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

答案 2 :(得分:2)

检查您正在为正在喂食的字符串喂食SimpleDateFormat的模式。

看到任何潜在的差异?我看到了3。