当我尝试仅从时间戳获取时间时遇到问题。
时间戳的一个例子是:
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;
}
感谢您的帮助!
最佳答案
您的代码是正确的...
在示例中,您在问题中给出的时间(即“2012-04-19T23:05:00+0200”)缺少毫秒
尝试传递这个
getTime("2012-04-19T23:05:00.235+0200");
它应该可以工作。
编辑: 作为MH提到,如果你不想使用毫秒 您可以将代码更改为
final SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
关于android - SimpleDateFormat 只获取时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10236876/