Как получить поле даты из MM / дд / гггг в гггг / мм / дд в vb.net - PullRequest
0 голосов
/ 22 мая 2009

Мне нужно получить поле даты от MM / dd / yyyy до yyyy / MM / dd в vb.net, но оно все равно должно быть после этого полем даты, чтобы я мог сопоставить его с датой в базе данных. *

На данный момент все, что мне удается сделать, - это заменить ее на строку в этом формате.

Я пробовал этот тип кода, который также не работал.

 DateTime.Parse(yourDataAsAString).ToString("yyyy-MM-dd")
 fromDeString = String.Format("{0:yyyy/MM/dd}", aDate)
 fromDate = Format("{0:yyyy/MM/dd}", aDate)

Любая помощь будет высоко ценится, спасибо

Ответы [ 3 ]

1 голос
/ 24 июня 2009

Вы не понимаете, что объект даты не хранит цифры в каком-либо конкретном формате. Единственный способ отформатировать цифры в нужном вам порядке - преобразовать их в строку. Зачем вам нужно сравнивать их в определенном формате? Дата - это дата, независимо от того, как она отформатирована. 15.12.78 == 1978/12/15.

Если вы не можете сравнить даты из БД с объектом даты в VB, вполне вероятно, что дата, с которой вы сравниваете данные в базе данных, возвращается вам в строковом формате, и в этом случае вы должны ее скрыть к объекту даты для сравнения.

Dim sDate As String = "2009/12/15" 'Get the date from the database and store it as a string
Dim dDate As New Date(2009, 12, 15) 'Your date object, set to whatever date you want to compare against

Select Case Date.Compare(dDate, Date.Parse(sDate))
   Case 0
      'The dates are equal
   Case Is > 0
      'The date in the database is less
   Case Is < 0
      'The date in the database is greater
End Select
0 голосов
/ 12 ноября 2015

Ваш второй должен на самом деле работать. Вместо этого просто попробуйте:

dim chislo as date = date.now dim message As String = $"   
             Today`s Date: {String.Format("{0:dddd, dd/MM/yyyy}", Chislo)} "  
                     MsgBox(message)
0 голосов
/ 05 июня 2009

Вот пример модуля, демонстрирующий желаемую функциональность.

Imports System.Globalization
Module Module1
    Sub Main()
        Dim culture As New CultureInfo("en-us", True)
        Dim mmDDyy As String = "10/23/2009"
        Dim realDate As Date = Date.ParseExact(mmDDyy, "mm/dd/yyyy", culture)
        Dim yyMMdd As String = realDate.ToString("yyyy/MM/dd")
    End Sub

End Module

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

С уважением Noel

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