我需要在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)
任何帮助都会有很大帮助,谢谢
答案 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)