2013-02-16 100 views
2

下面是我现在遇到的问题,我正在编写一个从网页表获取信息的程序,第一行的日期是例如。 “2011年9月21日”。使用子字符串时的Java无法解析的日期

随后的行格式为“2011年9月28日(2011-09-28)”。

我正在尝试子字符串日期,但我不断收到Unparseable日期:“2011年9月21日” 每当我做子串字符串。如果我没有子字符串的第一个日期会工作,但随后会崩溃,如果我甚至做第一个字符串的子字符串,它也崩溃。

String date = tableData.get(airDate).text(); 
int index = date.length(); 
if(date.contains("(")){ 
    index = date.indexOf((int)'(') - 1; 
} 
date = date.substring(0, index); 
Date simpleDate = formatter.parse(date); 

我的程序完全塞满了,我不知道为什么。现在我再也不能串一串,让相处的日期格式正确:(

+3

你如何创建你的格式化程序? – giorashc 2013-02-16 12:22:43

+1

我会在子串操作之后使用'date = date.trim()'。 – ogzd 2013-02-16 12:23:41

+0

SimpleDateFormat formatter = new SimpleDateFormat(“MMMM dd,yyyy”,Locale.ENGLISH); – 2013-02-16 12:39:16

回答

0

发现了问题,这是类似事情发生在实习期间,我使用的这个HTML库与Java中的简单日期格式和字符串操作具有相同的命名空间,简单的修复方法是创建一个外观以从HTML中获取信息,然后将其作为标准字符串操作,然后将其作为标准字符串

2

尝试

Date d = new SimpleDateFormat("MMMM dd, yyyy", Locale.ENGLISH).parse("September 28, 2011 (2011-09-28"); 
    System.out.println(d); 

打印

Wed Sep 28 00:00:00 EEST 2011 
+0

工作不累,已经得到不可分割的日期异常:( – 2013-02-16 12:35:18

+0

简单日期:Wed Sep 21 00:00:00东部标准时间2011 季节:1,插图:1,空气日期:2011年9月21日 季节地点:0 Air Date Location:4 java.text.ParseException:Unparseable date:“2011年9月28日(2011-09-28)” 终端输出 – 2013-02-16 12:37:46

+0

@ user2078282好吧,但我在发布前测试过,看到我的更新,它只是从我的Eclispe控制台 – 2013-02-16 12:43:44