所以我有这个字符串:“Tue Apr 15 00:00:00 IDT 2014”或“2014年4月15日”之后我通过拆分来改变它。 我想将它转换为这种格式:“yyyy-MM-dd”但是当我收到此消息时:
java.text.ParseException: Unparseable date: "Apr 15 2014"
这是我的完整代码:
DateFormat or=new SimpleDateFormat("MMM d yyyy");
DateFormat tr=new SimpleDateFormat("yyyy-MM-dd");
String str="Apr 15 2014";
System.out.println(str);
//String strs[]=str.split(" ");
//String newDay=strs[1]+" "+strs[2]+" "+strs[5];
//System.out.println(newDay);
try {
Date d1=or.parse(str);
System.out.println(d1);
} catch (ParseException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
感谢帮助者:)
答案 0 :(得分:0)
代码:
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = formatter.format(todaysDate);
答案 1 :(得分:0)
输入字符串中的月份字段值可能与默认Locale
中的月份字段值不匹配。尝试
DateFormat format = new SimpleDateFormat("MMM d yyyy", Locale.ENGLISH);
...
Date date = format.parse(str);
注意:不是操纵原始的String
,而是可以直接使用
DateFormat format =
new SimpleDateFormat("EEE MMM dd HH:mm:ss Z yyyy", Locale.ENGLISH);
答案 2 :(得分:0)
public static Date getDateFromString(String format, String dateStr) {
DateFormat formatter = new SimpleDateFormat(format);
Date date = null;
try {
date = (Date) formatter.parse(dateStr);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
-----------------
public static String getDate(Date date, String dateFormat) {
DateFormat formatter = new SimpleDateFormat(dateFormat);
return formatter.format(date);
}
答案 3 :(得分:0)
我对您的代码进行了以下更改:
**DateFormat or = new SimpleDateFormat("MMM dd yyyy");**
new SimpleDateFormat("yyyy-MM-dd");
String str = "Apr 15 2014";
System.out.println(str);
//String strs[]=str.split(" ");
//String newDay=strs[1]+" "+strs[2]+" "+strs[5];
//System.out.println(newDay);
try {
Date d1 = or.parse(str);
System.out.println(d1);
} catch (ParseException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
我得到了以下输出:
Apr 15 2014
Tue Apr 15 00:00:00 BST 2014
答案 4 :(得分:0)
java.util.Date ss1=new Date("Tue Apr 15 00:00:00 IDT 2014");
SimpleDateFormat formatter5=new SimpleDateFormat("yyyy-MM-dd");
String formats1 = formatter5.format(ss1);
System.out.println(formats1);