Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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# 异步过程中的日期时间转换_C#_Asp.net_Datetime_Asynchronous - Fatal编程技术网

C# 异步过程中的日期时间转换

C# 异步过程中的日期时间转换,c#,asp.net,datetime,asynchronous,C#,Asp.net,Datetime,Asynchronous,我在C#中以异步方式执行一组进程。当我试图将字符串(“12/02/2015”)转换为datetime类型时,显示名为string的错误格式不正确。但在生成异步进程之前,同样的代码也可以工作 DateTime.Parse("12/02/2015 00:00:00") 启动新线程时,默认情况下,其区域设置将设置为操作系统的默认区域设置。它不必设置为在Windows区域设置中选择的区域性 您可以通过在线程函数的开头添加以下代码行来解决此问题: System.Threading.Thread.Curr

我在C#中以异步方式执行一组进程。当我试图将字符串(“12/02/2015”)转换为datetime类型时,显示名为string的错误格式不正确。但在生成异步进程之前,同样的代码也可以工作

DateTime.Parse("12/02/2015 00:00:00")

启动新线程时,默认情况下,其区域设置将设置为操作系统的默认区域设置。它不必设置为在Windows区域设置中选择的区域性

您可以通过在线程函数的开头添加以下代码行来解决此问题:

System.Threading.Thread.CurrentThread.CurrentUICulture = System.Threading.Thread.CurrentThread.CurrentCulture;
或者,您可以使用
DateTime.ParseExact()
并精确指定要分析的格式,例如:

DateTime.ParseExact("12/02/2015 00:00:00", "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture);
请注意,格式字符串中的“/”和“:”字符不是逐字字符;它们分别指定日期和时间分隔符。它们碰巧映射到不变区域性中的相同字符,但它们可能映射到其他区域性中的不同字符

要指定应使用“/”和“:”字符,必须按如下方式对其进行转义:

DateTime.ParseExact("12/02/2015 00:00:00", "dd\\/MM\\/yyyy HH\\:mm\\:ss", CultureInfo.InvariantCulture);

可能异步进程更改了
CurrentCulture
设置?顺便问一下,你的当前文化是什么?同时显示工作代码。但是我认为进程类型不能改变字符串的
DateTime.Parse
的行为。你可以尝试
ParseExact
方法,但仍然会得到相同的错误。DateTime appDate=DateTime.ParseExact(“12/02/2015 00:00:00”,“dd/MM/yyyy”,CultureInfo.InvariantCulture)@Nathiya看一看您使用的格式字符串,然后看一看我使用的格式字符串。它们不一样。您没有指定“HH:mm:ss”位。