2017-03-09 58 views
0

我想解析一个字符串我从我的webservice收到一个DateTime,所以我可以看看,如果该日期时间的日期是今天或没有。字符串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); 

错误:

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

任何想法,为什么?

回答

7

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

使用ParseExact()代替Parse()

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

HH使用24小时,你可以用hh 12小时

此外,您还可以设置相应的文化Parse()

DateTime startTimeCon = DateTime.Parse(starttime, neededCulture); 
+0

或者有关小时格式的更多信息,请参阅我的答案[这里](http://stackoverflow.com/a/42677058/4631427)。答案也链接到他们所有的MSDN页面。 – TheLethalCoder

+0

这确实有用,thnx,我用这个“DateTime endTimeCon = DateTime.ParseExact(starttime,”MM/dd/yyyy HH:mm:ss“,CultureInfo.InvariantCulture);”有关“CultureInfo.InvariantCulture”的任何快速信息? – sansactions

+1

@sansactions,请参阅https://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.invariantculture%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396 –

相关问题