字符串到DateTime(日期)

san*_*ons 0 c# datetime

我正在尝试将我从webservice收到的字符串解析为DateTime,以便我可以查看该日期时间的日期是否为今天.

我看了一下,在msdn和stackoverflow上发现这些可能性应该起作用,但由于某些原因它们对我不起作用.

string starttime = obj.TIME; //time i get from webservice = "02/14/2017 00:00:00"
DateTime startTimeCon = DateTime.Parse(starttime);
DateTime startTimeCon2 = Convert.ToDateTime(starttime);
Run Code Online (Sandbox Code Playgroud)

错误:

该字符串不会被识别为有效的DateTime

有什么想法吗?

Rom*_*och 7

看来你的系统中有不同的文化.

使用ParseExact()而不是Parse():

DateTime startTimeCon = DateTime.ParseExact(starttime, 
                                            "MM/dd/yyyy HH:mm:ss",
                                            CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

HH使用24小时,可以使用hh12小时

此外,您可以设置适当的文化Parse():

DateTime startTimeCon = DateTime.Parse(starttime, neededCulture);
Run Code Online (Sandbox Code Playgroud)