2013-10-17 78 views
1

我一直在嘗試許多不同的解決方案,但沒有發現任何作用。我想將字符串轉換爲DD/MM/YYYY將字符串轉換爲日期時間格式無效System.Datetime

editField["ExpiryTime"] = "5/19/2011 12:00:00 AM"; 
DateTime dt = DateTime.ParseExact(editField["ExpiryTime"].ToString(), "dd/MM/yyyy HH:mm:ss tt", CultureInfo.InvariantCulture); 

的格式,但我總是得到無效的System.DateTime的錯誤。請求幫助!

+0

提示:我很確定'19'不是一個月。 – Rotem

+0

@Rotem ExpiryTime格式爲M/dd/yyyy hh:mm:ss AM | PM –

+0

正確的,會對其進行編輯。但我想要做的是將其轉換爲格式dd/MM/yyyy。那麼我怎麼能做到這一點?謝謝〜 – coffeeak

回答

2

使用CultureInfo.InvariantCulture避免像無效日期分隔文化問題,而此格式:

M/dd/yyyy hh:mm:ss tt 

大寫M是幾個月,dd的日子,yyyy四位數年。小寫hh是12h格式的小時數(與AM/PM結合需要),mm分鐘,ss秒和tt AM/PM指示符。

string input = editField["ExpiryTime"].ToString(); // "5/19/2011 12:00:00 AM" 
DateTime dt = DateTime.ParseExact(input, "M/dd/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture); 

我想將字符串轉換爲DD格式/ MM/YYYY

然後以同樣的方式使用ToStringCultureInfo.InvariantCulture力量/作爲日期分隔符,否則將被替換與您目前的文化的日期分隔符:

string result = dt.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture); 
0

如果你需要它作爲字符串,那麼你應該試試這個

var dt = string.Format("{0:dd/MM/yyyy}",DateTime.Now); 

注意:還請檢查您的本地系統日期時間格式。如果它與使用的不匹配,你仍然可能會遇到同樣的例外。

相關問題