У меня есть строка:Почему не работает DateTime.ParseExact для этого примера за пределами США?
var stringDate = "8/19/2016 5:00:00 PM"
и я стараюсь с помощью:
var dateTime = DateTime.ParseExact(stringDate,"M/d/yyyy h:mm:ss tt", null);
или
var dateTime = DateTime.ParseExact(stringDate, "M/d/yyyy h:mm:ss tt",
CultureInfo.Invariant);
или
var dateTime = DateTime.ParseExact(stringDate,"M/d/yyyy h:mm:ss tt",
CultureInfo.GetCultureInfo("en-us"));
Он отлично работает, если машина находится в США, но и для всех l 3 варианта. Я получаю следующую ошибку при работе с машиной в Лондоне:
String was not recognized as a valid DateTime
Что мне здесь не хватает?
Так что этот код работает отлично, когда я запускаю его на сервере в США (так что он определенно фиксировал часть проблемы), но если я запускаю тот же код с той же строкой на машине в Лондоне, и я все еще получаю такая же ошибка: String не была признана действительной DateTime – leora
@leora Используете ли вы 'InvariantCulture' в своем коде или' null' или 'CurrentCulture'? Если вы используете 'InvariantCulture', это не должно быть никакой ошибкой. Что такое «CurrentCulture» машины в Лондоне, например? –
Это то, что я использую (это не работает) var value = DateTime.ParseExact (StartDateTime, "M/d/yyyy h: mm: ss tt", CultureInfo.InvariantCulture); Как узнать «текущую культуру» машины? – leora