这是我目前遇到的问题,我正在编写一个程序,该程序从网页表中获取信息,第一行的日期是例如。 “2011 年 9 月 21 日”。
后续行的格式为“2011 年 9 月 28 日 (2011-09-28)”。
我正在尝试对日期进行子字符串化,但我不断收到无法解析的日期:“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);
我的程序完全塞满了,我不知道为什么。现在我不能再对字符串进行子串,更不用说让日期格式正确了:(
最佳答案
尝试
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
关于使用子字符串时Java无法解析日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14910228/