2013-07-11 85 views
0

在一個字符串變量我有日期格式如下:Tue Jul 23 00:00:00 UTC+0530 2013日期時間轉換錯誤

我試圖將其轉換爲日期時間變量,並得到了無效的日期時間錯誤。

DateTime dt = DateTime.Parse(t); 

我怎麼能轉換成DateTime格式?

回答

9

使用DateTime.ParseExact並使用自定義格式字符串:

var input = "Tue Jul 23 00:00:00 UTC+0530 2013"; 
var format = "ddd MMM dd HH:mm:ss UTCzzz yyyy"; 

DateTime dt = DateTime.ParseExact(input, format, System.Globalization.CultureInfo.InvariantCulture); 
+1

_Hmm_,但馬辛這個打印7月22日? –

+1

@SonerGönül是的,但這可能是因爲你當地的時區(這不是+ 530,是嗎?)。 'DateTime'和時區對我來說仍然是一個令人困惑的話題,但我會說這就是原因。 – MarcinJuraszek

+2

是的,我的是_UTC + 2_,這可能是原因。 _DateTime和時區是一個仍然有點令人困惑的話題,我me_我都沒有,但[我認爲這對我們很好:]](https://twitter.com/joshsusser/status/257725572275376128) –

2

您可以使用下面的代碼

string[] formats= { "ddd MMM dd HH:mm:ss UTCzzz yyyy" } 
DateTime dateTime = DateTime.ParseExact("Tue Jul 23 00:00:00 UTC+0530 2013", formats, new CultureInfo("en-US"), DateTimeStyles.None); 
+0

感謝mck它的作品! – TBA