Java 如何使用“Wed,01 Jul 2015 17:32:41 EDT”解析到日期的字符串
下面是解析器Wed的代码,2015年7月1日美国东部夏令时17:32:41,但它仍然不起作用。 有人能帮我弄清楚吗?非常感谢Java 如何使用“Wed,01 Jul 2015 17:32:41 EDT”解析到日期的字符串,java,android,date,formatter,Java,Android,Date,Formatter,下面是解析器Wed的代码,2015年7月1日美国东部夏令时17:32:41,但它仍然不起作用。 有人能帮我弄清楚吗?非常感谢 SimpleDateFormat formatter = new SimpleDateFormat("EEE dd MMM yyyy HH:mm:ss zzz"); try { return formatter.parse(text); } catch (ParseException e) { e.printStack
SimpleDateFormat formatter = new SimpleDateFormat("EEE dd MMM yyyy HH:mm:ss zzz");
try {
return formatter.parse(text);
} catch (ParseException e) {
e.printStackTrace();
}
你有一个,在周三之后…你也需要在格式中说明这一点
使用EEE,dd-MMM-yyy-HH:mm:ss-zzz试试这个
public static void main(String args[]) {
SimpleDateFormat formatter = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz");
try {
System.out.println(formatter.parse("Wed, 01 July 2015 17:32:41 EDT"));
} catch (Exception e) {
e.printStackTrace();
}}
输出:Thu Jul 02 03:02:41 IST 2015使用逗号和区域设置Thu为英语:
new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.ENGLISH);
试试这个
try {
String s = "Wed, 01 Jul 2015 17:32:41 EDT";
SimpleDateFormat df = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.US); //Or Locale.ENGLISH
df.setTimeZone(TimeZone.getTimeZone("EDT"));
//Or set timeZone to GMT-4:00 because EDT is GMT-4:00
//df.setTimeZone(TimeZone.getTimeZone("GMT-04:00"));
Date time = null;
time = df.parse(s);
System.out.println("Time = " + s);
String parsed = df.format(time);
} catch (Exception e) {
e.printStackTrace();
}
输出为:
Old=美国东部夏令时2015年7月1日星期三17:32:41
什么不起作用了,你有什么例外吗?只需更改为SimpleDateFormat formatter=new SimpleDateFormattee,dd MMM yyy HH:mm:ss zzz;这是我的例外:java.text.ParseException:Unparseable date:Thu,02 Jul 2015 02:28:39 EDT,偏移量0正如我提到的,只需更改到上面一行,这应该可以解决问题,我已经尝试过了,但它不起作用这里是异常:java.text.ParseException:Unparseable date:Thu,02 Jul 2015 02:28:39 EDT偏移量0即使在添加逗号后它是否也给出了错误???它对我来说工作得非常好…我认为它应该是EEE',dd MMM yyyy HH:mm:ss zzz,即在逗号周围添加“因为它不是公认的数据”symbol@Onheiron...这不是一个d区别…逗号、冒号、空格等特殊字符周围不需要引号。。。