Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用“Wed,01 Jul 2015 17:32:41 EDT”解析到日期的字符串_Java_Android_Date_Formatter - Fatal编程技术网

Java 如何使用“Wed,01 Jul 2015 17:32:41 EDT”解析到日期的字符串

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

下面是解析器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.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区别…逗号、冒号、空格等特殊字符周围不需要引号。。。