2016-02-24 56 views
0

有問題的字符串:"2003:12:14 12:01:44"(yyyy:MM:dd hh:mm:ss)轉換這個字符串格式有效的DateTime?

我該如何將它轉換爲C#中的有效日期時間?我試過Convert.ToDateTime(str),但無濟於事。

+4

的可能的複製[字符串轉換爲在C#的.NET日期時間](http://stackoverflow.com/questions/4360891/convert-string-to-datetime-in-c-net) –

回答

3

使用權DateTime格式,並與該格式提供DateTime.ParseExact。需要注意的是,因爲你的time沒有顯示是上午還是下午,也可能是安全的假設,它採用24小時制(利用資本HH)超過12小時AM PM(不hh)格式。下面的代碼應該工作:

string format = "yyyy:MM:dd HH:mm:ss"; //note: use HH not hh 
var result = DateTime.ParseExact("2003:12:14 12:01:44", format, CultureInfo.InvariantCulture); 

檢查更多可用的DateTime格式here(標準)和here(自定義)。

1

Convert.ToDateTime嘗試解析你的字符串作爲你CurrentCulture設置的標準日期和時間格式。看起來這個字符串不是標準格式。

可以使用DateTime.ParseExact用於指定自定義格式。

var dt = DateTime.ParseExact("2003:12:14 12:01:44", 
          "yyyy:MM:dd hh:mm:ss", 
          CultureInfo.InvariantCulture); 
相關問題