使用属性将YYYYMMDD字符串转换为Date

时间:2015-05-05 10:03:24

标签: c# datetime filehelpers

我正在使用FileHelper填充CSV文件中的数据。 该文件的日期为YYYYMMDD字符串。

例如

19880312,20120505,20121231 ...

同样的模型是

class PatientData
{
    public DateTime DateOfBirth{get;set;}
    //Some Other Columns
}

导入代码是:

FileHelperEngine engine = new FileHelperEngine(typeof(PatientData));
PatientData[] clientes = (PatientData[])engine.ReadFile(@"Path to CSV");

我遇到的问题是20121212正在转换为1212年12月20日(DDMMYYYY)而不是YYYYMMDD。

尝试使用DateTime上的属性,但不知道如何在其中获取初始字符串值。

TIA

1 个答案:

答案 0 :(得分:3)

您需要使用FieldConverterAttribute注释您的媒体资源。以下是官方文档http://www.filehelpers.net/quickstart/

的链接

这样的事情可以解决问题。

public class PatientData
{
    [FieldConverter(ConverterKind.Date, "yyyyMMdd")]
    public DateTime DateOfBirth{ get; set; }
    //Some Other Columns
}

注意您的日期格式字符串。查看选项here的完整列表。 c#中没有大写的YYYY模式。