2010-01-01 40 views

回答

14
var userdateformat = DateTime.ParseExact("20101020", "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture); 

修改爲您要修改。

+0

謝謝,這對我很有幫助。 – 2011-04-16 04:46:14

-3
string strStartDateMain = "20100102"; 
string strStartDateFinal = new DateTime(Convert.ToInt32strStartDateMain.Substring(0, 4)), Convert.ToInt32(strStartDateMain.Substring(4, 2)), Convert.ToInt32(strStartDateMain.Substring(6))).ToString("dd/MM/yyyy"); 
+0

我通過對該主題進行研發得到了答案。 這裏如果我們有像「20100102」這樣的字符串,比我們可以得到如 「02/01/2010」 – Ashish 2010-01-01 19:26:42

+3

Bah,這真的不是這樣做的方式。 – Noldorin 2010-01-01 19:27:46

+0

自定義日期解析FTL。不要重新發明輪子。 – Aaronaught 2010-01-01 19:30:07

9
IFormatProvider culture = new CultureInfo("en-EN", false); // use your culture info 
DateTime dt = DateTime.ParseExact(myDateTimeString, "yyyyMMdd", culture, DateTimeStyles.NoCurrentDateDefault); 

YYYYMMDD是輸入格式。

,然後如果你想將其轉換爲字符串:

String output = String.Format("{0:dd/MM/yyyy}", dt); 
+0

正確 - 除了根據場景使用'CultureInfo.CurrentCulture'或'CultureInfo.InvariantCulture'可能有意義。 – Noldorin 2010-01-01 19:26:52

+0

我將用戶覆蓋更改爲false。所以它現在使用默認。但即使重疊,它也不會引起任何問題。或者我錯了? – JCasso 2010-01-01 19:32:18

9
var result = DateTime.ParseExact("20100102", "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture); 

根據需要修改。