Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将格式为dd/mm/yyyy的字段转换为有效的日期时间?_C#_Sql Server_Entity Framework_Datetime - Fatal编程技术网

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

C# 如何将格式为dd/mm/yyyy的字段转换为有效的日期时间?,c#,sql-server,entity-framework,datetime,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(",");

我正在开发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]);
我得到了以下例外:-

字符串未被识别为有效的日期时间

那么,有谁能给我一些建议吗?我如何在数据库中添加以下格式的日期?

试试:

这基本上告诉解析器所期望的格式

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

试试:

这基本上告诉解析器所期望的格式


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

感谢您的回复,但在我的情况下,CSVfield[49]可能是空的,因此ParseExact将引发异常。。。在调用ParseExact()之前,是否需要检查字符串是否为空?或者我可以在不检查的情况下处理此问题?是的,您必须检查它是否为空。感谢您的回复,,但在我的情况下,CSVfield[49]可能为空,因此ParseExact将引发异常。。。在调用ParseExact()之前,是否需要检查字符串是否为空?或者我可以不用检查就处理这个问题?是的,你必须检查它是否为空。你的
CurrentCulture
是什么?@SonerGönül我读取的日期存储在.csv中。。。你是说数据库的文化?如果是,那么我有美国英语你的
当前文化是什么?@SonerGönül我正在阅读的日期存储在.csv中。。。你是说数据库的文化?如果是的话,那么我有我们的英语
var result = DateTime.ParseExact(
    dateString,
    "dd/MM/yyyy",
    CultureInfo.InvariantCulture
);