2012-05-10 469 views
0

我試圖解析StringDateTime對象,但它似乎月份始終默認爲1。所以我們可以說我給它一個字符串30/05/1970它最終被轉化爲DateTime對象月份值等於1解析字符串爲DateTime對象

下面的代碼:

public static DateTime ToDateTime(this String value, String format) 
    { 
     Contract.Requires(!String.IsNullOrEmpty(value)); 
     Contract.Requires(!String.IsNullOrEmpty(format)); 

     DateTime date; 
     if (DateTime.TryParseExact(value, format, CultureInfo.InvariantCulture, DateTimeStyles.None, out date)) 
     { 
      return date; 
     }   

     throw new ArgumentException("Input value is not a valid date."); 
    } 

注意,正在傳遞給方法的格式是dd/mm/yyyy

有什麼想法?

+1

月是'MM',不'mm' –

回答

10

您正在使用錯誤的格式說明符數個月。

它是MM而不是mm。您目前正在將分鐘解析爲分鐘。使用dd/MM/yyyy

+3

沒錯。到過那裏。 – akatakritos

+0

我一直堅持這樣的2小時!我嘗試了各種各樣的東西,但我從來沒有想過要改變格式。感謝您指出了這一點!非常感謝:) – Kassem

+0

@Kassem:你應該把這個標記爲正確的答案然後 – MiMo