2010-06-18 190 views
1

我想將特定格式的字符串轉換爲DateTime將字符串轉換爲DateTime對象

我的具體字符串格式是「dd-mm-yyyy」。

我不能做任何字符串操作。

這是我現在所擁有的代碼:

DateTime convertedDate = DateTime.Parse(stringInput); 

回答

12

看來你想要的靜態ParseExact方法,你可以指定實際的日期時間格式。

var convertedDate = DateTime.ParseExact(input, "dd-MM-yyyy", null); 

(根據上下文,你可能還需要指定CultureInfo.InvariantCulture,而不是null /電流文化作爲參數。)

0

這聽起來像一個本地化問題 - 如果是這種情況,我建議使用接受System.IFormatProvider的overloads of DateTime.parse之一。從文檔:

 
Type: System.IFormatProvider 
An object that supplies culture-specific format information about s. 

這也使你的代碼是靈活的 - 如果日期格式在未來發生了改變,以支持不同的文化,你可以改變的格式提供。

0
var convertedDate = DateTime.ParseExact("04-05-2010","dd-MM-yyyy",CultureInfo.InvariantCulture); 
0
string m = "11-02-1983"; 

var culture = CultureInfo.CreateSpecificCulture("fr-FR"); 
var styles = DateTimeStyles.None; 

DateTime date; 
if (DateTime.TryParse(m, culture, styles, out date)) 
{ 
    //grabbed date successfully 
} 
else 
{ 
    //epic fail 
}