2014-09-25 116 views
0

如何解析這個日期到C#中的日期時間?DateTime解析C#

2014-09-26t1505 

我嘗試以下方法:

DateTime pickupDate = DateTime.ParseExact("2014-09-26t1505", "t", 
        CultureInfo.CreateSpecificCulture("en-us")); 

但看起來這是錯誤的,因爲我得到以下錯誤:

String was not recognized as a valid DateTime. 

回答

4

你應該這樣做。

string dateString = "2014-09-26t1505"; 
    string format = "yyyy-MM-dd't'HHmm"; 
    CultureInfo provider = CultureInfo.InvariantCulture; 
    try { 
    DateTime result = DateTime.ParseExact(dateString, format, provider); 
    Console.WriteLine("{0} converts to {1}.", dateString, result.ToString()); 
    } 
    catch (FormatException) { 
    Console.WriteLine("{0} is not in the correct format.", dateString); 
    } 

要使用ParseExact,您必須實際指定您正在使用的格式。不知道爲什麼你只是把「t」。有關更多信息和代碼示例,請參閱MSDN

+0

謝謝@eddie_cat。它確實工作:) – Arry 2014-09-25 21:03:04

+0

你應該也可以轉義'-',否則它將使用OS日期分隔符(可能是'/')。 – 2014-09-25 21:05:06

+1

@ThomasW。,有了'CultureInfo.InvariantCulture',它不會。 – Habib 2014-09-25 21:13:25

-1

日期時間pickupDate = ParseExact(「2014-09- 26t1505「,」yyyy-MM-ddtHHmm「,CultureInfo.InvariantCulture)

+0

@Rob:對不起,但這沒有奏效。同樣的錯誤。 – Arry 2014-09-25 21:01:52

+2

當日期字符串 – 2014-09-25 21:03:01

+0

中的小時和分鐘之間沒有冒號時,您添加了冒號謝謝,更正 – 2014-09-25 21:03:57