我使用univocity解析csv文件。但是我无法将String格式的日期解析为java.util.Date。似乎@Format(formats =“ YYYY-MM-DD”)注释无效。
我正在尝试解析行
2015-04-30,67,“ P”,1972-02-28,2006-08-11,“ 97912a4321dd510”,“ 49d180ecf56132819571bf39d9b7b34”
但是它在解析后给了我这种格式,不是YYYY-MM-DD。你能帮我吗?
day = CET 2014年12月28日星期日00:00:00,id = 5151,type = B,originDate = Sun Dec 欧洲中部时间1950年3月31日00:00:00,relDate = Sun CET 2010年12月26日00:00:00, legalId = 3bbfca2849c01ad,名称= 236e5fcfd21603c33b82ddd89bab7c4
我的模型课程:
import java.util.Date;
import com.univocity.parsers.annotations.Format;
import com.univocity.parsers.annotations.Parsed;
public class Customer {
@Format(formats ="YYYY-MM-DD")
@Parsed(field="C_DAY")
private Date day;
@Parsed(field="C_ID")
private Integer id;
@Parsed(field="C_TYPE")
private Character type;
@Format(formats ="YYYY-MM-DD")
@Parsed(field="C_ORIGIN_DATE")
private Date originDate;
@Format(formats ="YYYY-MM-DD")
@Parsed(field="C_REL_DATE")
private Date relDate;
@Parsed(field="C_LEGAL_ID")
private String legalId;
@Parsed(field="C_NAME")
private String name;
使用以下方法测试输出:
public void parse(File file) throws IOException {
CsvParserSettings parserSettings = new CsvParserSettings();
parserSettings.getFormat().setLineSeparator("\n");
parserSettings.setHeaderExtractionEnabled(true);
CsvRoutines routines = new CsvRoutines(parserSettings);
for (Customer customer : routines.iterate(Customer.class, file, "UTF-8")) {
System.out.println(customer);
}
}