我的日期格式为:Thu- Mar 22 2012
。它是在字符串变量date1中获取的。我需要将字符串变量中的日期转换为日期格式。我尝试了下面的ccode,但未能解析日期;请帮忙。
DateFormat formatter;
Date formatted_date= null;
formatter = new SimpleDateFormat("EEE-MM d yyyy");
try {
formatted_date= (Date) formatter.parse(date1);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
答案 0 :(得分:2)
你需要三个Ms'MMM'来解析像'Mar'这样的月份缩写。请在'EEE - '之后检查空白。
答案 1 :(得分:1)
将其更改为以下格式
EEE- MMM d yyyy
请注意-
和MMM
答案 2 :(得分:0)
Thu- Mar 22 2012
EEE- MMM dd yyyy
我认为你需要这样的东西
UPD:日期格式:
SimpleDateFormat toStringFormatter = new SimpleDateFormat("EEE MMM dd yyyy");
String formattedDate = toStringFormatter.format(date);
所以parse()
适用于String
- > Date
和format()
适用于Date
- > String
答案 3 :(得分:0)
如果已发布的答案不起作用,那么您肯定会遇到语言环境问题。请尝试以下SimpleDateFormat
:
formatter = new SimpleDateFormat("EEE- MMM d yyyy", Locale.ENGLISH);
答案 4 :(得分:0)
我感谢给定模式并给出了语言环境的默认日期格式符号构造函数SimpleDateFormat。注意:此构造函数可能不支持所有语言环境。涵盖所有语言环境
public SimpleDateFormat(String pattern,Locale locale)
//local:Locale.ENGLISH
//default is not English
formatter = new SimpleDateFormat("EEE, MMM d, ''yy", Locale.ENGLISH);
try {
formatted_date= (Date) formatter.parse("Wed, Jul 4, '01");
} catch (ParseException e) {
e.printStackTrace();
}