448 votes

Équivalent de Math.Min & Math.Max pour les Dates ?

Quel est le moyen plus rapide et plus facile d’obtenir la valeur Min (ou Max) entre deux dates ? Yat-il un équivalent à Math.Min (& Math.Max) pour les dates ?

Je veux faire quelque chose comme :

Évidemment la Math.Min ci-dessus ne fonctionne pas parce qu’ils sont des dates.

596voto

Mehrdad Afshari Points 204872

Il n’y a aucune méthode intégrée de le faire. Vous pouvez utiliser l’expression :

pour trouver le maximum des deux.

Vous pouvez écrire une méthode générique pour calculer ou pour n’importe quel type (sous réserve que `` est définie de manière appropriée) :

Vous pouvez aussi utiliser LINQ :

478voto

Guffa Points 308133

Il n’y a aucune surcharge pour les valeurs DateTime, mais vous pouvez obtenir la valeur de type long `` c’est ce que contiennent les valeurs, comparez-les et puis créez une nouvelle valeur DateTime du résultat :

(Notez que la structure DateTime contient également un `` bien, ce qui n’est pas conservée dans la nouvelle valeur. Ce n’est normalement pas un problème ; Si vous comparez les valeurs DateTime de différentes sortes la comparaison n’est pas sensé de toute façon.)

39voto

Marc Gravell Points 482669

Qu’en est-il :

Fonctionne avec n’importe quel type qui prend en charge ou .

En fait, avec LINQ, une autre alternative est :

20voto

user450 Points 11
<pre><code></code><p>Cela permet aux dates d’avoir différents « types » et retourne l’instance qui s’est passé (ne pas retourner une nouvel valeur DateTime construit de tiques ou millisecondes).</p><pre><code></code></pre><p>A noter que ce test allait échouer est de Greenwich...</p></pre>

-6voto

user1077050 Points 1
<pre><code></code><p><a href="http://jsfiddle.net/5CR37/" rel="nofollow">http://jsfiddle.net/5CR37/</a></p></pre>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X