【发布时间】:2013-04-30 06:56:30
【问题描述】:
我正在解析一个由三列组成的 csv 文件,如下所示
GHF FGH DATE
AAA BBB 20-Aug-2013
CCC DDD 16-Sep-2013
我能够成功解析它,但另外我需要添加
在 java 类中验证 csv 文件中的日期格式应为 20-Aug-2013,如上所示。如果我收到其他格式的日期,那么我必须抛出异常。
请告知如何实现这一目标。
【问题讨论】:
我正在解析一个由三列组成的 csv 文件,如下所示
GHF FGH DATE
AAA BBB 20-Aug-2013
CCC DDD 16-Sep-2013
我能够成功解析它,但另外我需要添加
在 java 类中验证 csv 文件中的日期格式应为 20-Aug-2013,如上所示。如果我收到其他格式的日期,那么我必须抛出异常。
请告知如何实现这一目标。
【问题讨论】:
您可以从java 使用SimpleDateFormat。
Here 是一个可用的示例:
SimpleDateFormat format = new SimpleDateFormat("dd-MMM-yyyy");
String myDate = format.parse(myString).toString();
【讨论】:
SimpleDateFormat 中的格式应该是:
SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy");
然后
Date testDate = sdf.parse(date);
【讨论】:
您可以使用SimpleDateFormat 根据您的格式解析日期字符串。确保你做setLenient(false)。如果日期不符合您指定的格式,它将抛出 java.text.ParseException。
SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy");
sdf.setLenient(false);
try {
Date d = sdf.parse("06-AUG-2012") ;
} catch (ParseException e) {
System.out.println("Date is in invalid Format!");
}
【讨论】: