2014-03-04 183 views
-2

我有字符串包含日期這樣的「1969年3月8日12:00 AM」我想將其轉換爲1969年3月8日將字符串轉換日期爲datetime

我試圖

DateTime dt = DateTime.Parse("Mar 8 1969 12:00AM","MM/dd/yyyy hh:mm:ss tt",CultureInfo.InvariantCulture); 
var stringdate = dt.ToString("dd/MM/yyyy").Split('/'); 

但總是死機給字符串不表示一個日期

+0

您的日期不符合格式mm/dd/yyyy。您可能需要編寫自己的方法將'Mar'轉換爲'03',將當天的兩位數字轉換爲'/' –

回答

3

這是你需要什麼,我相信:

DateTime dt = DateTime.Parse("Mar 8 1969 12:00AM", System.Globalization.CultureInfo.InvariantCulture); 
string stringdate = dt.ToString("MM/dd/yyyy"); 

你也可以這樣做這個:

DateTime dt; 
if(DateTime.TryParse("Mar 8 1969 12:00AM", out dt)) 
    string stringdate = dt.ToString("MM/dd/yyyy"); //on success assign the value 

TryParse的返回值表示轉換是否成功。

0

DateTime.Parse不接受格式字符串。您需要使用DateTime.ParseExact,並使第二個參數與給定日期字符串的格式相對應。看起來你會嘗試使用格式「MM/dd/yyyy ...」來解析「1969年3月8日」,但這些格式不匹配。

0

您可以使用DateTime.ParseExact,注意你有之間空間,一旦你解析字符串到日期,你可以使用的ToString,給你想要Custom Date Format

DateTime dt = DateTime.ParseExact("Mar 8 1969 12:00AM", "MMM d yyyy hh:mmtt", System.Globalization.CultureInfo.InvariantCulture); 
string dateString = dt.Date.ToString("MM/d/yyyy");