2013-01-11 64 views
0

我試圖將10/10/2010 12:00:00 a.m.轉換爲dateTime。我用這...String to DateTime格式

DateTime.ParseExact(item.Birthey, "dd/MM/yyyy hh:mm:ss tt", null); 

,但我得到String was not recognized as a valid DateTime.

什麼是做這種正確的方法是什麼?

+2

嘗試上午而不是我 – PhoenixReborn

+0

修剪'.'字符與替換方法在字符串中,它會工作。'替換(「。」,「」),' –

回答

1

只需簡單地嘗試ParseParseExact與像字符串命令的操作:

string stringDate= "10/10/2010 12:00:00 P.M."; 
var myDate = DateTime.Parse(stringDate.Replace(".", "")); 

你也可以嘗試下面的代碼示例,如果,你得到的原始數據有「上午」結束於此。只需更換的字符:

string stringDate= "10/10/2010 12:00:00 a.m."; 
DateTime result = DateTime.ParseExact(stringDate.Replace(".", ""), 
           "dd/MM/yyyy hh:mm:ss tt", null); 
+0

嗨,謝謝你的答覆我用過,但我的新日期時間沒有時間,它只有日期。「10/10/2010 00:00:00」 – Flezcano

1

嘗試,而不是

DateTime.ParseExact("10/10/2010 12:00:00 am", "dd/MM/yyyy hh:mm:ss tt", null).Dump(); 

.a.m.創建的問題。您可以使用替換刪除.(如在你的日期格式.只能出現在a.m.,或p.m.

DateTime.ParseExact("10/10/2010 12:00:00 a.m.".Replace(".",""), "dd/MM/yyyy hh:mm:ss tt", null).Dump(); 
0

嘗試指定CultureInfo.InvariantCulture,而不是null。你的情況,它使用CultureInfo.CurrentCulture