2009-04-10 64 views

回答

2

使用DateTime結構上的靜態ParseExact方法來轉換字符串。你也可以按照你想要的格式(dd/MM/yyyy或者MM/dd/yyyy)傳遞你想要的格式(00/00/0000的例子沒有給出什麼格式適用於你)。

0

嘗試這樣:

String.Compare("00/00/0000", dateTime.ToString("MM/dd/yyyy")) 

但也許是更好的辦法來做到這一點:

DateTime.Equals(yourDateTime, DateTime.Parse(databaseDateTime)); 
1

您可以使用


Dim dateA = DateTime.ParseExact(firstDateString, @"dd\/MM\/yyyy", Null) 
Dim dateB = DateTime.ParseExact(secondDateString, @"dd\/MM\/yyyy", Null) 
Dim areEqual = (dateA = dateB); 

假設你的日期格式爲日月年。 如果是月/日/年只是交換dd和MM

0

請嘗試以下

Dim date1 = CDate(firstDateString) 
Dim date2 = CDate(secondDateString) 
Dim comp = date1 = date2 
0

當你說比較,你想分析,如果日期是相同的(有一天)或時間段的幾天之內?如果要比較日期是否相同,那麼您可以比較字符串或使用date.equals(如在此之前的帖子中所述),如果您嘗試確定範圍,則必須使用日期比較

 Dim lDate1 As String = "29/03/2009" 
    Dim lDate2 As String = "30/03/2009" 
    Dim lPeriod As Int16 = 7 

    If lDate1 = lDate2 Then 
     '** Dates the same 
    End If 

    If Date.Equals(Date.ParseExact(lDate1, "dd/MM/yyyy", Nothing), Date.ParseExact(lDate2, "dd/MM/yyyy", Nothing)) Then 
     '** The same 
    End If 

    If Date.Compare(Date.ParseExact(lDate1, "dd/MM/yyyy", Nothing), Date.ParseExact(lDate2, "dd/MM/yyyy", Nothing)) > (lPeriod * -1) And Date.Compare(Date.ParseExact(lDate1, "dd/MM/yyyy", Nothing), Date.ParseExact(lDate2, "dd/MM/yyyy", Nothing)) < lPeriod Then 
     '** Within the period 
    End If