9
votes

DateTime Dayofweek Comparaison

Je voudrais comparer une date à voir si elle est avant samedi, comme: XXX

Il semble y avoir aucun moyen de le faire.

y a-t-il un manière?

Merci d'avance


1 commentaires

Pouvez-vous ne pas vous lancer vers Int et comparer?


5 Réponses :


15
votes

Pourquoi pas cela? XXX PRE>

ou même mieux: P>

List<DayOfWeek> partyDays = new List<DayOfWeek> {
    DayOfWeek.Saturday, DayOfWeek.Sunday
};

if (partyDays.Contains(MYWorkDay.DayOfWeek))
    Party();
else
    IGottaWork();


5 commentaires

Je vois ce que je faisais mal. Je n'ai pas besoin de date d'heure avant la Dayfweek. Stupide moi :) merci pour l'aide


Je viens de poster sur mon blog (ne semblait pas approprié comme une réponse ici) Deux de mes méthodes de prolongation personnalisées préférées dans et entre les deux. Parfois, je pense que je passe trop de temps à essayer de faire ressembler mon code à un document. JosheInstein.com/blog/index.php/2010/01/ Entre entre


C'est bizarre ... dans l'histoire de la modification, cela me montre mon édition de la Dayfweek stuff ... Tout ce que j'ai fait dans mon édition, c'était changer || à &&.


@JOSH - C'est parce que j'ai édité ma réponse pour les supprimer juste avant de modifier mon erreur logique. Une tempête parfaite d'édits! :)


Si vous êtes intéressé par un moyen plus rapide de récupérer le jour de la semaine: Stackoverflow.com/a/22278311/3315914



0
votes

Essayez ceci:

if (new [] {DayOfWeek.Saturday, DayOfWeek.Sunday}.Contains(d.DayOfWeek)) {
  // party :D
} else {
  // work  D:
}


0 commentaires

1
votes

Dayfweek est un énumé à partir du dimanche de 0 et samedi comme dernier élément, parmi 6 entier. Pensez à cela lorsque vous comparez.


0 commentaires

1
votes

Si vous préférez faire des comparaisons plutôt que de vérifier une liste, vous pouvez également le faire:

if ((MYWorkDay.DayOfWeek.CompareTo(DayOfWeek.Sunday) > 0) && (MYWorkDay.DayOfWeek.CompareTo(DayOfWeek.Saturday) < 0))
{
      IGottaWork();
}
else
{
      Party();
}


0 commentaires

4
votes

de MSDN:

La valeur des constantes dans la dayofeek dénombrement varie de Dayfweek.sunday à DayoFeek.Saturday. Si jeté à un entier, c'est Valeur varie de zéro (qui indique la dayofweek.sunday) à six (qui indique la dayofweek.Saturday). p> BlockQuote>

Vous pouvez également utiliser plus de et moins que des opérateurs pour votre calcul. P>

//Check if Saturday YET
if (MYWorkDay.DayOfWeek < DayOfWeek.Saturday && MYWorkDay.DayOfWeek > DayOfWeek.Sunday)
    IGottaWork();
else
    Party();


0 commentaires