我正在使用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

最佳答案

您需要使用FieldConverterAttribute注释属性。这是官方文档http://www.filehelpers.net/quickstart/的链接

这样的事情将解决问题。

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


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

关于c# - 使用属性将YYYYMMDD字符串转换为日期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30049930/

10-13 05:56