2013-02-16 92 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