Android中的日期格式设置
我遇到了一个问题,我想要分析‘11.15,2013’格式的字符串,但我无法在SimpleDateFormat类中使用MMMM D,YYYY来执行此操作。请就此提出任何解决方案。
编码:
SimpleDateFormat formatter = new SimpleDateFormat("MMMM DD, yyyy");
try {
Date publishedDate = formatter.parse(pictureDirectory.replace(str, ""));
hashMap.put(publishedDate, getImageFromSdCard(picturePath));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
始终返回‘2013年11月15日星期五00:00:00 IST’。
解决方案
SimpleDateFormat查看安卓的示例。
String[] formats = new String[] {
"yyyy-MM-dd",
"yyyy-MM-dd HH:mm",
"yyyy-MM-dd HH:mmZ",
"yyyy-MM-dd HH:mm:ss.SSSZ",
"yyyy-MM-dd'T'HH:mm:ss.SSSZ",
};
for (String format : formats) {
SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.US);
System.out.format("%30s %s
", format, sdf.format(new Date(0)));
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
System.out.format("%30s %s
", format, sdf.format(new Date(0)));
}
输出:
yyyy-MM-dd 1969-12-31
yyyy-MM-dd 1970-01-01
yyyy-MM-dd HH:mm 1969-12-31 16:00
yyyy-MM-dd HH:mm 1970-01-01 00:00
yyyy-MM-dd HH:mmZ 1969-12-31 16:00-0800
yyyy-MM-dd HH:mmZ 1970-01-01 00:00+0000
yyyy-MM-dd HH:mm:ss.SSSZ 1969-12-31 16:00:00.000-0800
yyyy-MM-dd HH:mm:ss.SSSZ 1970-01-01 00:00:00.000+0000
yyyy-MM-dd'T'HH:mm:ss.SSSZ 1969-12-31T16:00:00.000-0800
yyyy-MM-dd'T'HH:mm:ss.SSSZ 1970-01-01T00:00:00.000+0000
相关文章