无法使用Univocity解析器解析日期

时间:2018-10-02 14:29:20

标签: java csv datetime parsing univocity

我使用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);


        }
    }

0 个答案:

没有答案
相关问题