2017-03-09 56 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 –

相關問題