.net 使用FileHelpers编写CSV文件时,如何控制日期的输出格式?

.net 使用FileHelpers编写CSV文件时,如何控制日期的输出格式?,.net,csv,filehelpers,.net,Csv,Filehelpers,我正在使用FileHelpers 2.0库编写CSV文件,使用ClassBuilder类生成记录类型 我的数据包含日期,因此我创建了一个类型为DateTime的字段,但在生成文件时,日期值的格式是ddmmyyyy而不是dd/mm/yyyyy,例如28042000而不是28/04/2000 我已经将CsvOptions类的DateFormat属性设置为“dd/MM/yyyy”,但它没有帮助 以下是生成记录类型的代码: private Type CreateRecordType()

我正在使用FileHelpers 2.0库编写CSV文件,使用
ClassBuilder
类生成记录类型

我的数据包含日期,因此我创建了一个类型为
DateTime
的字段,但在生成文件时,日期值的格式是
ddmmyyyy
而不是
dd/mm/yyyyy
,例如
28042000
而不是
28/04/2000

我已经将
CsvOptions
类的
DateFormat
属性设置为
“dd/MM/yyyy”
,但它没有帮助

以下是生成记录类型的代码:

    private Type CreateRecordType()
    {
        int propertyIndex = 0;
        var csvOptions = new CsvOptions("Flat" + _report.RootType.Name, ',', Properties.Count)
                             {
                                 DateFormat = "dd/MM/yyyy"
                             };
        var classBuilder = new CsvClassBuilder(csvOptions);

        foreach(var property in Properties)
        {
            var fieldBuilder = classBuilder.FieldByIndex(propertyIndex++);
            fieldBuilder.FieldName = property.Name;
            fieldBuilder.FieldType = property.Type.Name;
        }

        return classBuilder.CreateRecordClass();
    }

事实证明,您需要使用
FieldBuilder
类的
Converter
属性

将下面的代码块添加到我的方法中,可以自定义生成的CSV文件中的日期格式

if (property.Type == typeof(DateTime))
{
   fieldBuilder.Converter.Kind = ConverterKind.Date;
   fieldBuilder.Converter.Arg1 = "dd/MM/yyyy";
}