Я использую следующую функцию для преобразования строковой переменной в дату. Вычтите из него день и конвертируйте дату обратно в строку. Код выглядит следующим образом
Dim edate As String
Dim expenddt As Date
edate = txtenddt.Text
expenddt = Date.ParseExact(edate, "dd/MM/yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo)
expenddt = expenddt.AddDays(-1)
Dim asd As String = expenddt.ToString
Если edate
имеет значение 29/12/2011 , тогда значение в expenddt
изменяется на другой формат, а значение в expenddt
принимает значение 12/29 / 2011 и позже, после вычитания дня expenddt
равно 12/28/2011 , и когда я преобразую его обратно в строку, получим значение в asd
как "12 / 28/2012 12:00:00 "
Я изменил формат даты в моей системе на d/M/yyyy
в разделе «Язык и региональные стандарты» на панели управления, но я все еще получаю другой формат в expenddt
Может кто-нибудь объяснить мне, почему это происходит? Как я могу сохранить формат даты в дд / мм / гггг, например, 29.12.2011 и после
Вычитая день, он должен остаться 28/12/2011 , а не 12/29/2011