-2

我有一个格式的日期:.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();
}
4

5 回答 5

2

您需要三个 Ms 'MMM' 来解析像 'Mar' 这样的月份缩写。请检查“EEE-”后的空格。

于 2012-05-11T07:35:32.663 回答
1

将其更改为以下格式

EEE- MMM d yyyy

-注意和之后的空格MMM

于 2012-05-11T07:35:28.677 回答
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->也是如此Dateformat()对于- Date>也是如此String

于 2012-05-11T07:37:15.637 回答
0

如果已经发布的答案不起作用,那么您肯定对语言环境有问题。尝试以下操作SimpleDateFormat

formatter = new SimpleDateFormat("EEE- MMM d yyyy", Locale.ENGLISH);
于 2012-05-11T07:42:25.867 回答
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();
}
于 2012-05-11T09:18:09.473 回答