Android中的日期格式设置

2022-08-24 00:00:00 android simpledateformat

我遇到了一个问题,我想要分析‘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

相关文章