Строка не была распознана как действительный DateTime - PullRequest
5 голосов
/ 14 июня 2011

Я получаю эту ошибку " Строка не была распознана как действительный DateTime " с кодом ниже:

DateTimeOffSet dt=new DateTimeOffset(Convert.ToDateTime(DateTime.Now.ToString("dd/MM/yyyy hh:mm tt")));

Работает в среде DEV, но не в Production.

Может кто-нибудь подсказать, что не так с кодом выше?

Спасибо.

Ответы [ 3 ]

8 голосов
/ 14 июня 2011

Convert.ToDateTime использует текущую информацию о культуре формата DateTime.Попробуйте что-то вроде этого:

string format = "dd/MM/yyyy hh:mm tt";
string stringDate = DateTime.Now.ToString(format, CultureInfo.InvariantCulture);
DateTime dateTime = DateTime.ParseExact(stringDate, format, CultureInfo.InvariantCulture);
1 голос
/ 14 июня 2011

Почему вы конвертируете из DateTime в string, а затем обратно в DateTime?

Я думаю, это должно работать нормально:

DateTimeOffset dt = new DateTimeOffset(DateTime.Now);
0 голосов
/ 14 июня 2011

CultureInfo должен быть разным на обеих машинах.Возможно, вам придется передать его в методе Convert в качестве предпочтительной культуры, например, En-US.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...