2013-02-06 209 views
2

字符串,我想分析:解析字符串,日期

太阳11月10日10:00:00 CET 2013

我的代码:

substrings = "Sun Nov 10 10:00:00 CET 2013" 

SimpleDateFormat parserSDF = new SimpleDateFormat("EEE MMM d HH:mm:ss ZZZ yyyy"); 
Date date = parserSDF.parse(substrings); 

编译器错误输出:

java.text.ParseException:Unparseable日期: “孙11月10日10:00:00 CET 2013”​​ 在java.text.DateFormat.parse(来源不明) ...

+0

我相信你的意思是使用较低情况下z的,并有2个D的范围内考虑看看SimpleDateFormatParsePosition。 – 2013-02-06 16:43:41

+0

而且,不使用子串[0]看到,因为子不是数组。 – 2013-02-06 16:45:05

+0

是'substrings'一个String或一个String []? – amphibient

回答

1

也许你缺少正确的语言环境。试试这个,在你的例子中:

SimpleDateFormat parserSDF = new SimpleDateFormat("EEE MMM d HH:mm:ss ZZZ yyyy", Locale.US); 
+0

该区域设置.US是烦恼... – Facon

+0

我买了'Locale.US'没有不同的输出:太阳11月10日04:00:00 EST 2013 – amphibient

+0

@foampile也许你的默认Locale,已经是Locale.US。你是否得到Facon的相同ParseException? –

-1

的问题是,parserSDF需要一个字符串,而不是阵列和一个ParsePosition。我写这个来输出我认为你想要的。

import java.text.*; 
public class Parser{ 
    public static void main(String[] args){ 
    String input = "Sun Nov 10 10:00:00 CET 2013"; 
    SimpleDateFormat parserSDF = new SimpleDateFormat("EEE MMM d HH:mm:ss ZZZ yyyy"); 
    System.out.println(parserSDF.parse(input, new ParsePosition(0))); 
    } 
} 

我推荐的API