Большая проблема, как упоминалось в других публикациях, заключается в том, что вы неявно присваиваете результат DateTime операции Convert строковой переменной.Это даже не передало бы компилятор в C #, так что вы попадаете в сферу того, как VB работает с этими неявными присваиваниями, и вы, вероятно, не захотите быть там, потому что если какая-то часть спецификации языка изменится в новой версии Framework, и выПопытайтесь перенести ваш код, возможно, у вас может быть неприятная ошибка, которую вы можете попытаться найти (возможно, здесь это не так важно, но в других случаях да).Лучше всего было бы переписать блок кода, чтобы операция Convert была назначена объекту DateTime, но более простым решением было бы бросить .ToString () в конец строки Convert.ToDateTime (testdate) (т. Е. Testdate = Convert.DateTime (testdate) .ToString (), который оставит testdate с датой и отметкой времени, отформатированными в текущей культуре (поскольку вы сейчас выполняете явное преобразование между DateTime и строкой назначения).