2016-02-17 2 views
0

Недавно я задал этот вопрос: DateTime.ParseExact was not recognized as a valid DateTimeДата Различия между Windows 10 и Windows 7

вопрос был дан ответ и подход работал большой. Это было до тех пор, пока я не попробовал запустить его на машине с Windows 10. Затем я получаю сообщение об ошибке:

String Not Recognized As Valid DateTime

К «Строка» Я предполагаю, что отладчик ссылается на dd/MM/yy. Кто-нибудь может понять, почему это может быть? 10 Короткой Дата

Tabledate = DateTime.ParseExact("30/11/12", "dd/MM/yy", CultureInfo.InvariantCulture) 

UPDATE 1

Благодаря @Blackwood за комментарий о реальном время компьютеров, я просто изменил окно: Вот код, если вы не хотите, чтобы трал через связанный вопрос формат до «dd/MM/yy» с «dd/MM/yyyy», и код работает нормально!

Теперь я не знаю, что формат компьютеры других людей могут быть, таким образом, я полагаю, мой следующий подход будет исследовать, если я могу получить то, что формат ток PC в и затем использовать этот формат в качестве переменной

+1

Предполагая, что 'Tabledate' объявлен как' DateTime', этот код работает на моем компьютере под управлением Windows 10 без ошибок. Значение, присвоенное 'Tabledate', равно« 11/30/2012 12:00:00 AM »(в культуре США, которую мой компьютер по умолчанию). – Blackwood

+0

* По «String» Я предполагаю, что отладчик ссылается на 'dd/MM/yy' * Нет, он ссылался на« 30/11/12 ». Если вы используете 'DateTime.Parse()' или 'TryParse' - они будут пытаться использовать * all * форматы даты, зарегистрированные для культуры. * Ваш * формат настройки не имеет значения, используя 'InvariantCulture' – Plutonix

ответ

0

Я предполагаю, что это имеет какое-то отношение культуры, IST, кажется, DateFormat ур прохождение: «дд/мм/гггг»

Попробуйте это:

DateTime.ParseExact («30/11/12» , "d", CultureInfo.InvariantCulture)

https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx

+0

Не будет ли это только возвращение дня? – SilverShotBee

+0

https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx проверить это – khaled

+0

Этот код генерирует исключение, так как «30/11/12» не является датой в форма «d» (день месяца). – Blackwood

Смежные вопросы