代码之家  ›  专栏  ›  技术社区  ›  Nathan Schwermann

SimpleDataFormatter无法解析!

  •  2
  • Nathan Schwermann  · 技术社区  · 14 年前

    Wed, 30 Jun 2010 15:07:06 CST

    我正在使用以下代码

    public static SimpleDateFormat postedformat = 
        new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z");
    Date newDate = new Date(posteformat.parse("Wed, 30 Jun 2010 15:07:06 CST"));
    

    4 回复  |  直到 14 年前
        1
  •  4
  •   Noel M    14 年前

    postedformat.parse() 返回一个 Date ,并且没有 Date(Date) 建造师。

    大概是取消了对 new Date 你这么说 Date newDate = poste....

        2
  •  3
  •   Steve McLeod    14 年前

    您的代码片段无法编译。这个小小的修改成功地编译和解析了:

    public static void main(String[] args) throws ParseException {
        SimpleDateFormat postedformat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z");
        Date newDate = postedformat.parse("Wed, 30 Jun 2010 15:07:06 CST");
        System.out.println("newDate = " + newDate);
    }
    

    这是在MacOSX上使用Java6。

        3
  •  1
  •   Goibniu    14 年前

    根本没有 java.util.Date() 构造函数 java.util.Date 作为论据

    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class DateFormat {
        public static SimpleDateFormat postedformat = 
            new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z");
        public static void main(String[] args) {
            try {
                Date newDate = postedformat.parse("Wed, 30 Jun 2010 15:07:06 CST");
                System.out.println("Date: " + newDate);
            } catch (ParseException e) {
                e.printStackTrace();
            }
        }
    }
    

    输出:

    Date: Wed Jun 30 22:07:06 BST 2010
    
        4
  •  1
  •   Andreas Dolk    14 年前

    new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US);
    

    另一个问题可能是时区('CST'),它一方面被弃用,另一方面又模棱两可(根据的javadoc) java.util.TimeZone