web-dev-qa-db-fra.com

Comment tester deux dateTimes pour être la même date?

Duplicata possible:
Comment comparer les dates en C #

Ce code à moi:

public static string getLogFileNameForDate(DateTime dt)
{
    if (dt.Equals(DateTime.Now))

... échoue même lorsque les deux dates sont identiques (date) car dt se voit attribuer une valeur au démarrage (par exemple "18/06/2012 15:19:42"), et donc les dates ne sont pas exactement les mêmes, même bien que l'année, le mois et le jour soient les mêmes (la valeur de DateTime.Now peut être, par exemple, "18/06/2012 15:30:13").

Je sais que je peux le tester de cette façon:

if ((dt.Year.Equals(DateTime.Now.Year) && (dt.Month.Equals(DateTime.Now.Month) && (dt.Day.Equals(DateTime.Now.Day))

... mais cela ressemble un peu à Jethro *

Quelle est la méthode acceptée/préférée (sans jeu de mots)?

  • Clampett, pas Tull
43
B. Clay Shannon

Essayer

if (dt.Date == DateTime.Now.Date)

Cela ne prendra que la partie date et l'horodatage sera 12:00:00

104
Brandon