我的String
是2013-8-25, 16:33
,现在需要将其转换为Date
。为此,我使用:
Date mDate = new SimpleDateFormat("yyyy-MM-dd, HH:mm").parse("2013-8-25, 16:33");
然后我需要得到一个String
正确的模式,这是
private static final String DATE_PATTERN = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";
以下是我的工作方式:
public static String convertDateToString(Date date) {
String string = DateFormat.format(DATE_PATTERN, date).toString();
Logger.logVerbose(TAG, "Date converted into String is " + string);
return string;
}
但:
Date converted into String is 2013-08-25THH:33:00.SSSZ
为什么小时仍在HH
?谢谢!
答案 0 :(得分:1)
我强烈怀疑您遇到与DateFormat
的兼容性问题。特别是,从文档:
此类中的格式方法实现Unicode UTS#35模式的子集。此类当前支持的子集包括以下格式字符:acdEHhLKkLMmsyz。最高API级别17,仅支持adEhkMmszy。请注意,为了向后兼容,这个类错误地实现了k,好像它是H一样。
我建议您使用SimpleDateFormat
进行格式化,以避免此问题。