1

我使用单义性来解析 csv 文件。但我无法将字符串格式的日期解析为 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=2014 年 12 月 28 日星期日 00:00:00 CET,id=5151,type=B,originDate=1950 年 12 月 31 日星期日 00:00:00 CET,relDate=2010 年 12 月 26 日星期日 00:00:00 CET,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);


        }
    }
4

0 回答 0