如何在MM / dd / yyyy中获取日期字段到vy.net中的yyyy / MM / dd

时间:2009-05-22 17:30:24

标签: vb.net date

我需要在vb.net中从MM / dd / yyyy到yyyy / MM / dd获取日期字段,但之后它仍然应该是日期字段,以便我可以将其与数据库中的日期进行匹配。

目前,我所要做的就是将其更改为该格式的字符串。

我尝试了这种类型的代码,但也没有用。

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

任何帮助都会有很大帮助,谢谢

3 个答案:

答案 0 :(得分:1)

您不理解日期对象不会以任何特定格式存储数字。获取所需顺序数字的唯一方法是将其转换为字符串。为什么需要以特定格式比较它们?无论日期格式如何,日期都是日期。 12/15/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

答案 1 :(得分:0)

这是一个展示您所需功能的示例模块。

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

希望这有帮助。

亲切的问候 诺尔

答案 2 :(得分:0)

你的第二个应该真的有效。而只是尝试:

dim chislo as date = date.now dim message As String = $"   
             Today`s Date: {String.Format("{0:dddd, dd/MM/yyyy}", Chislo)} "  
                     MsgBox(message)