如何将具有以下格式dd / mm / yyyy的字段转换为有效的日期时间?

时间:2016-04-04 15:34:35

标签: c# sql-server entity-framework datetime

我正在研究c#应用程序,它从.csv文件中读取数据并填充我们的数据库。

现在.csv文件包含以下格式dd/mm/yyyy的日期信息,例如22/07/2011。所以当我尝试使用ado.net实体框架在我们的数据库中添加这个值时: -

TextFieldParser parser = new TextFieldParser(@"C:\csv\file01.csv");

parser.TextFieldType = FieldType.Delimited;
parser.SetDelimiters(",");


while (!parser.EndOfData)
{
    Employee DBrecord = new Employee();
    DBrecord.LeavingDate = DateTime.Parse(CSVfields[49]);

我遇到以下异常: -

  

字符串未被识别为有效的DateTime。

所以有人可以就此提出建议,如何在数据库中使用以下格式dd/mm/yyyy添加我的日期?

1 个答案:

答案 0 :(得分:2)

尝试DateTime.ParseExact()

var result = DateTime.ParseExact(
    dateString,
    "dd/MM/yyyy",
    CultureInfo.InvariantCulture
);

这基本上告诉解析器期望什么格式。

请注意,它是MM而非mm,因为一个是月,另一个是分钟。