Недавно я задал этот вопрос: 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 в и затем использовать этот формат в качестве переменной
Предполагая, что 'Tabledate' объявлен как' DateTime', этот код работает на моем компьютере под управлением Windows 10 без ошибок. Значение, присвоенное 'Tabledate', равно« 11/30/2012 12:00:00 AM »(в культуре США, которую мой компьютер по умолчанию). – Blackwood
* По «String» Я предполагаю, что отладчик ссылается на 'dd/MM/yy' * Нет, он ссылался на« 30/11/12 ». Если вы используете 'DateTime.Parse()' или 'TryParse' - они будут пытаться использовать * all * форматы даты, зарегистрированные для культуры. * Ваш * формат настройки не имеет значения, используя 'InvariantCulture' – Plutonix