2009-03-06 4 views

Répondre

54

Il suffit de prendre la partie date de chaque via la Date propriété et comparer les deux:

date1.Date.CompareTo(date2.Date) 

Ou:

If date1.Date < date2.Date Then 
+0

Vous assumez correctement. –

+0

Je vais supprimer le texte à ce sujet alors. Juste pour ceux qui suivent, le commentaire de Konrad avait du sens à l'époque :) –

+0

+1, ajouta un peu mineur à la syntaxe VB si/alors. – JaredPar

7

Comparez les propriétés DateTime.Date.

7

Vous pouvez également utiliser TimeSpan

Dim ts As TimeSpan 
ts = dt1 - dt2 

ts. Les jours auront maintenant la différence des deux dates en jours entiers.

+1

Je voulais juste ajouter que j'utilise souvent (dt1-dt2) .Days comme un diff rapide. –

+0

Juste ce que je cherchais! Merci! – webprogrammer

5

Modifiez la date txt1 en format jj/mm/aaaa en utilisant myDateTime.ToShortDateString() pour que les deux dates soient au même format. alors:

if (DateTime.Compare(date1, date2) > 0) 
// which means ("date1 > date2") 
if (DateTime.Compare(date1, date2) == 0) 
//which means ("date1 == date2"); 
if (DateTime.Compare(date1, date2) < 0) 
//which means ("date1 < date2"); 
+0

grande logique pour gérer les comparaisons de dates, merci. – htm11h

-3
Dim date1, date2 As Date 
date1 = Date.Parse(dtpStart.Text) 
date2 = Date.Parse(dtpEnd.Text) 
If (DateTime.Compare(date1, date2) > 0) Then ' which means ("date1 > date2") 
    MessageBox.Show("يجب تحديد الفترة للتاريخ بشكل صحيح ", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading) 
    Exit Sub 
End If 
Questions connexes