Я использую следующую функцию для преобразования переменной String в Date. Вычтите день из него и преобразуйте дату в строку. Код выглядит следующим образомФормат даты в vb.net
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 AM»
Я изменил формат даты в моей системе до d/M/yyyy
в разделе «Региональный и язык» в панели управления, но я все еще получаю другой формат в expenddt
Может ли кто-нибудь объяснить мне, почему это происходит? Как я могу сохранить формат даты в дд/мм/гггг, например 29/12/2011 и после вычитанием день он должен оставаться 28/12/2011 и не 12/29/2011
Я не могу объяснить, почему (он должен использовать формат, установленный с помощью панели управления), но почему бы вам просто не указать формат при вызове ToString? – andygjp
@andygjp. Это я никогда не пробовал. Большое вам спасибо. На самом деле я новичок в vb, я знаю, как мы это делаем на C#. Можете ли вы рассказать мне, как указать формат? это .ToString ("dd/mm/yyyy")? – Ishan
@andygjp Это действительно решило мой вопрос. – Ishan