2012-04-06 90 views
0

如何使以下日期有效?date嘗試使用dateformat解析爲dmy

class Program 
{ 
    static void Main(string[] args) 
    { 

     DateTime testResult; 
     DateTime.TryParse("31/1/2012", out testResult); 

    } 
} 
+1

你是什麼意思,它是一個有效的日期和你的代碼作品。 – Phil 2012-04-06 19:33:17

+1

如果文化當前未設置爲en-GB – 2012-04-06 19:34:51

回答

3

使用此重載:

http://msdn.microsoft.com/en-us/library/9h21f14e.aspx

傳遞一種文化,指定DMY日期順序。

例子:

DateTime.TryParse("31/1/2012", new CultureInfo("en-GB"), DateTimeStyles.None, out testResult); 

有些人會建議使用TryParseExact,但是這也需要你指定一個文化:

DateTime.TryParseExact("31/1/2012", "d/M/yyyy", CultureInfo.InvariantCulture, DatetimeStyles.None, out testResult); 
3
DateTime d = DateTime.ParseExact("31/1/2012", "dd/M/yyyy", CultureInfo.InvariantCulture); 
+1

,則此操作不起作用,但它不具有OP要查找的功能。看起來他們想要一個TryParse變種,我假設吞下不好的格式。所以,我不能給你一個滿意的答覆。我很抱歉 – 2012-04-06 19:41:49

+1

這隻適用於小於10的日期值有前導0的情況,這似乎不太可能,因爲月份值沒有前導0。 – phoog 2012-04-06 19:42:23

1

我明白了,這是一個英國的日期,以便

DateTime testResult; 
DateTime.TryParse("31/1/2012", 
    CultureInfo.CreateSpecificCulture("en-GB"), DateTimeStyles.None, out testResult); 
相關問題