Формат даты в vb.net - PullRequest
       4

Формат даты в vb.net

0 голосов
/ 27 декабря 2011

Я использую следующую функцию для преобразования строковой переменной в дату. Вычтите из него день и конвертируйте дату обратно в строку. Код выглядит следующим образом

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

Ответы [ 2 ]

2 голосов
/ 27 декабря 2011

Используйте Date.ToString() для преобразования даты в строку в формате dd/MM/yyyy.

Dim asd As String = expenddt.ToString("dd/MM/yyyy")
0 голосов
/ 27 декабря 2011

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

Dim dateString As String = "Mon 16 Jun 8:30 AM 2008"
Dim format As String = "ddd dd MMM h:mm tt yyyy"
Dim dateTime__1 As DateTime = DateTime.ParseExact(dateString, format, CultureInfo.InvariantCulture)

надеюсь, что это может помочь ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...