Ну, названия месяцев тоже можно локализовать. И, возможно, в некоторых экзотических культурах годы считаются и по-другому.
EDIT:
Пример:
string x = "Montag, 2. April 2012";
DateTime dt1, dt2;
bool r1 = DateTime.TryParseExact(x, "D", new CultureInfo("de-DE"), 0, out dt1);
bool r2 = DateTime.TryParseExact(x, "D", new CultureInfo("en-US"), 0, out dt2);
(r1 == true
, r2 == false
).
Или наоборот:
string y = "Monday, April 02, 2012";
DateTime dt3, dt3;
bool r3 = DateTime.TryParseExact(y, "D", new CultureInfo("de-DE"), 0, out dt3);
bool r4 = DateTime.TryParseExact(y, "D", new CultureInfo("en-US"), 0, out dt4);
(r3 == false
, r2 == true
).