代码之家  ›  专栏  ›  技术社区  ›  Ilyas Patel

使用Univocity,如何在Java中将日期字符串值转换为日期类型

  •  1
  • Ilyas Patel  · 技术社区  · 7 年前

    import java.sql.Date;
    public class Data {
    
        @Parsed(index = 0)
            private Date date;
        }
    }
    
    public <T> List<T> convertFileToData(File file, Class<T> clazz) {
    
        BeanListProcessor<T> rowProcessor = new BeanListProcessor<>(clazz);
        CsvParserSettings settings = new CsvParserSettings();
        settings.setProcessor(rowProcessor);
        settings.setHeaderExtractionEnabled(true);
    
        CsvParser parser = new CsvParser(settings);
        parser.parseAll(file);
    
        return rowProcessor.getBeans();
    }
    
    1 回复  |  直到 7 年前
        1
  •  3
  •   Jeronimo Backes    7 年前

    您只需定义日期的格式,即可设置:

    @Format(formats = {"dd-MMM-yyyy", "yyyy-MM-dd"})
    @Parsed(index = 0)
        private Date date;
    }
    

    CsvRoutines

    List<T> beanList = new CsvRoutines(settings).parseAll(clazz, file);
    

    希望有帮助。