Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.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# 发布后出错:字符串未被识别为有效的DateTime asp.net_C#_Asp.net_Web Applications - Fatal编程技术网

C# 发布后出错:字符串未被识别为有效的DateTime asp.net

C# 发布后出错:字符串未被识别为有效的DateTime asp.net,c#,asp.net,web-applications,C#,Asp.net,Web Applications,我的项目在本地主机上运行时运行正常,但在发布到托管服务后,在我使用DateTime.ParseExact的每个地方都会出现错误 string date = "04-03-2019"; DateTime dt = DateTime.ParseExact(date, "dd-MM-yyyy", CultureInfo.InvariantCulture); 我还尝试了DateTime dt=DateTime.ParseExact(日期,“dd-MM-yyyy”,null)检查区域性是否设置为英国格式

我的项目在本地主机上运行时运行正常,但在发布到托管服务后,在我使用DateTime.ParseExact的每个地方都会出现错误

string date = "04-03-2019";
DateTime dt = DateTime.ParseExact(date, "dd-MM-yyyy", CultureInfo.InvariantCulture);

我还尝试了
DateTime dt=DateTime.ParseExact(日期,“dd-MM-yyyy”,null)

检查区域性是否设置为英国格式,如dd/mm/yyyy(英国格式),因为还有另一种格式,如mm/dd/yyyy(美国格式),因为您使用本地主机检查您电脑上的时间格式

我认为为日期格式使用适当的区域性可以解决此问题

如果输入日期格式为“dd-MM-yyyy”,请尝试以下代码

string strDate = "04-03-2019";
DateTime dt = Convert.ToDateTime(strDate,
System.Globalization.CultureInfo.GetCultureInfo("hi-IN").DateTimeFormat);

这里的“hi-IN”区域性将以“dd-MM-yyyy”格式标识您的日期字符串。

是的,您是对的。。我刚刚检查了这两种情况的当前文化,它们是不同的。那么我现在能做什么呢?既然你在本地主机上工作,请检查你电脑上的日期格式是否与你要解析的日期相同,请使用这个yup,它与我要解析的日期相同。托管服务具有en-US区域性,而我的本地主机具有en-IN,是否有任何方法可以将托管服务的区域性值固定为en-IN您的托管服务是您电脑上的IIS?我不熟悉samterasp,但您可以检查这一点,如果你觉得我的答案很有用,别忘了把它标记为答案,
InvariantCulture
应该可以解决这个问题。留下输入,
string date=“04-03-2019”不是服务器上发生的事情。