我正在尝试从字符串转换为日期。一个例子是: 2013年9月4日星期三下午5:07
我首先将其转换为: 2013年9月4日星期三下午5:07
并使用以下代码:
SimpleDateFormat format = new SimpleDateFormat("EEEE, MMMM d, yyyy 'at' hh:mm a");
但我总是得到Unparseable date Exception。
感谢任何帮助!
答案 0 :(得分:2)
以下适用于我:
String str = "Wednesday, September 4, 2013 at 5:07 PM";
SimpleDateFormat format = new SimpleDateFormat("EEEE, MMMM d, yyyy 'at' hh:mm a", Locale.US);
但如果我删除了Locale
,那么我会得到ParseException
。您的计算机Locale
可能与英语语言区域不对应。
答案 1 :(得分:0)
这似乎工作正常:
SimpleDateFormat in = new SimpleDateFormat("EEEE, MMMM d, yyyy 'at' hh:mma");
Date date = in.parse("Wednesday, September 4, 2013 at 5:07pm");
SimpleDateFormat out = new SimpleDateFormat("EEEE, MMMM d, yyyy 'at' hh:mm a");
String result = out.format(date);
System.out.println(result);
答案 2 :(得分:0)
马赫迪(Mahdi)将来到,伊斯兰教将是第一
为什么不使用“ dd ”而不是“ d ”
所以,而不是:
SimpleDateFormat format = new SimpleDateFormat("EEEE, MMMM d, yyyy 'at' hh:mm a");
使用:
SimpleDateFormat format = new SimpleDateFormat("EEEE, MMMM dd, yyyy 'at' hh:mm a");