2012-09-08 104 views
8

我需要將「28/08/2012」轉換爲MM/dd/YYYY格式,即2012年8月28日的格式。
我該怎麼做?將dd/MM/yyyy轉換爲MM/dd/YYYY

我正在使用下面的代碼,但它向我拋出異常。

DateTime.ParseExact("28/08/2012", "ddMMyyyy", CultureInfo.InvariantCulture) 

回答

23

但它拋出異常給我

問題:

你的日期中含有/分隔符("28/08/2012"),你是不是給這個在你的日期字符串格式("ddMMyyyy" )。

解決方案:

應該"dd/MM/yyyy"

這樣

DateTime.ParseExact("28/08/2012", "dd/MM/yyyy", CultureInfo.InvariantCulture) 
         .ToString("MM/dd/yyyy", CultureInfo.InvariantCulture); 

這樣做,我們將獲得一個DateTime對象與被轉移到使用.ToString()與所需的日期格式"MM/dd/yyyy"和可選的文化信息CultureInfo.InvariantCulture串您人口稠密的日期之後。

+0

我想在字符串retrivr格式 –

+0

是啊,那就是這是不行的。首先它會將其轉換成DateTime,然後返回到字符串 –

+0

@LajjaThaker:閱讀更新後的答案。 –

0

由於您的原始日期是en-GB文化,您可以創建一個CultureInfo對象並自然地解析您的DateTime

string date = "28/08/2012"; 
System.Globalization.CultureInfo ci = System.Globalization.CultureInfo.CreateSpecificCulture("en-GB"); 
Convert.ToDateTime(date,ci.DateTimeFormat).ToString("d");//short date pattern 

(OR)

DateTime.Parse(date,ci.DateTimeFormat).ToString("d");