FileHelpers库-是否可以在运行时更改字段的日期格式?

莫·西斯科(Moe Sisko)

使用FileHelpers库版本3.0.1。

假设您定义了一个要从csv文件导入的字段,如下所示:

    [FieldTrim(TrimMode.Both)] 
    [FieldQuoted('"', QuoteMode.OptionalForBoth, MultilineMode.NotAllow)]
    [FieldConverter(ConverterKind.Date, "d-MMMM-yyyy")]
    public DateTime DOB;

现在,csv字段应采用日期格式“ d-MMMM-yyyy”,并在编译时设置。我在运行时有一个要求(有时)将此格式更改为“ d-MMMM-yy”。

使用的格式取决于源文件-有些文件有2位数字的年份,另一些文件有4位数字的年份。我将在程序启动时知道使用哪种格式。

FileHelpers有可能吗?我想我可以像这样添加一个字符串列:

[FieldTrim(TrimMode.Both)] 
[FieldQuoted('"', QuoteMode.OptionalForBoth, MultilineMode.NotAllow)]
public string DOBAsString; 

,并让FileHelpers将该数据读取到该字段中,然后自己循环将其转换为DOB字段。有没有更清洁的方法?

shamp00

最简单的方法是使用ConverterKind.DateMultiFormat而不是ConverterKind.Date

[FieldTrim(TrimMode.Both)] 
[FieldQuoted('"', QuoteMode.OptionalForBoth, MultilineMode.NotAllow)]
[FieldConverter(ConverterKind.DateMultiFormat, "d-MMMM-yyyy", "d-MMMM-yy"]
public DateTime DOB;

通常,在运行时指定格式的另一种方法是将运行时类与ClassBuilder一起使用:

FixedClassBuilder cb = new FixedLengthClassBuilder("Customers"); 

cb.AddField("DOB", 8, typeof(DateTime)); 
cb.LastField.Converter.Kind = ConverterKind.Date; 
cb.LastField.Converter.Arg1 = "d-MMMM-yyyy"; // or whatever
cb.LastField.TrimMode = TrimMode.Both; 
cb.LastField.FieldNullValue = DateTime.Now;          

engine = new FileHelperEngine(cb.CreateRecordClass()); 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否可以在运行时或编译时更改SSDL内容(Visual Studio 2015 EntityFramework数据库首先与Oracle结合使用)

来自分类Dev

如何在运行时更改库声明?

来自分类Dev

标准库中是否存在某些内容或Boost是否可以在运行时编译dll?

来自分类Dev

使用Filehelpers库忽略十进制字段中的美元货币符号($)

来自分类Dev

是否可以从库中请求运行时权限?

来自分类Dev

使用通用存储库和IoC在运行时更改数据库

来自分类Dev

Azure Web服务-在运行时更改数据库连接字符串

来自分类Dev

在Codeigniter中在运行时更改数据库连接

来自分类Dev

在Codeigniter中在运行时更改数据库连接

来自分类Dev

CSV导入数据库,在运行时更改外键属性

来自分类Dev

使用 MVC WebApi 2 在运行时更改数据库

来自分类Dev

在给定的数据库结构可以在运行时更改的情况下,如何处理并发的SQL更新

来自分类Dev

cmake-是否可以在运行时将可执行文件链接到具有相对路径的共享库?

来自分类Dev

是否可以在不使用第三方库的情况下在运行时判断整数类型在 C 中的字节数

来自分类Dev

是否可以在运行时更改组件样式?

来自分类Dev

是否可以在运行时更改AngularJS变量的类型?

来自分类Dev

Delphi是否需要运行时库?

来自分类Dev

Filehelpers字段的最大长度

来自分类Dev

在运行时更改字段属性

来自分类Dev

Java库的版本信息,可在运行时访问

来自分类Dev

在运行时加载基因敲除库

来自分类Dev

Fortran动态库,在运行时加载?

来自分类Dev

PHP Yii:数据库在运行时连接

来自分类Dev

流明-在运行时创建数据库连接

来自分类Dev

在运行时加载的共享库的soso名称错误

来自分类Dev

在运行时创建数据库

来自分类Dev

在运行时编译库覆盖方法

来自分类Dev

Java库的版本信息,可在运行时访问

来自分类Dev

在运行时迁移不同的数据库

Related 相关文章

  1. 1

    是否可以在运行时或编译时更改SSDL内容(Visual Studio 2015 EntityFramework数据库首先与Oracle结合使用)

  2. 2

    如何在运行时更改库声明?

  3. 3

    标准库中是否存在某些内容或Boost是否可以在运行时编译dll?

  4. 4

    使用Filehelpers库忽略十进制字段中的美元货币符号($)

  5. 5

    是否可以从库中请求运行时权限?

  6. 6

    使用通用存储库和IoC在运行时更改数据库

  7. 7

    Azure Web服务-在运行时更改数据库连接字符串

  8. 8

    在Codeigniter中在运行时更改数据库连接

  9. 9

    在Codeigniter中在运行时更改数据库连接

  10. 10

    CSV导入数据库,在运行时更改外键属性

  11. 11

    使用 MVC WebApi 2 在运行时更改数据库

  12. 12

    在给定的数据库结构可以在运行时更改的情况下,如何处理并发的SQL更新

  13. 13

    cmake-是否可以在运行时将可执行文件链接到具有相对路径的共享库?

  14. 14

    是否可以在不使用第三方库的情况下在运行时判断整数类型在 C 中的字节数

  15. 15

    是否可以在运行时更改组件样式?

  16. 16

    是否可以在运行时更改AngularJS变量的类型?

  17. 17

    Delphi是否需要运行时库?

  18. 18

    Filehelpers字段的最大长度

  19. 19

    在运行时更改字段属性

  20. 20

    Java库的版本信息,可在运行时访问

  21. 21

    在运行时加载基因敲除库

  22. 22

    Fortran动态库,在运行时加载?

  23. 23

    PHP Yii:数据库在运行时连接

  24. 24

    流明-在运行时创建数据库连接

  25. 25

    在运行时加载的共享库的soso名称错误

  26. 26

    在运行时创建数据库

  27. 27

    在运行时编译库覆盖方法

  28. 28

    Java库的版本信息,可在运行时访问

  29. 29

    在运行时迁移不同的数据库

热门标签

归档