SimpleDateFormat仅获取时间

Jel*_*ser 2 android timestamp date-format simpledateformat

当我尝试仅从时间戳获取时间时,我遇到了问题。

时间戳的一个示例是:

2012-04-19T23:05:00 + 0200

我认为格式是“ yyyy-MM-dd'T'HH:mm:ss.SSSZ”,对吗?并且必须为“ HH:mm”。

我使用以下代码,但不返回任何内容:

public String getTime(String Vertrektijd){
        final SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
        Date dateObj;
        String newDateStr = null;
        try
        {
            dateObj = df.parse(Vertrektijd);
            SimpleDateFormat fd = new SimpleDateFormat("HH:mm");
            newDateStr = fd.format(dateObj);
        }
        catch (Exception e)
        {
          e.printStackTrace();
        }
        return newDateStr;
    }
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助!

San*_*San 5

您的代码是正确的...

在示例时间中,您在问题中给出的值(即“ 2012-04-19T23:05:00 + 0200”)缺少了MilliSeconds

尝试通过这个

getTime("2012-04-19T23:05:00.235+0200");
Run Code Online (Sandbox Code Playgroud)

它应该工作。

编辑:如MH所述,如果您不想使用毫秒,则可以将代码更改为

final SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
Run Code Online (Sandbox Code Playgroud)