Comment comparer datetime en Javascript?
Donné
var fromDatetime = "10/21/2014 08:00:00";
var toDatetime = "10/21/2014 07:59:59";
Cible
Besoin de comparer ces deux datetime pour vérifier si c'est un datetime valide d'intrants.
Im pensant que je pourrais utiliser cette solution. .
var fromDatetime = new date("10/21/2014 08:00:00");
var toDatetime = new date("10/21/2014 07:59:59");
puis comparer chaque segment
fromDatetime.getFullYear() pour toDatetime.getFullYear(),
fromDatetime.getMonth() pour toDatetime.getMonth(),
ainsi de suite ainsi de suite jusqu'à ce que je obtenir un non comparaison égale, puis revenir.
Ma question est. . Est que le meilleur des cas en comparant datetime en Javascript?
Proposé d'autres solutions que ce sera apprécié. .
Je vous remercie à l'avance.
Double Possible? Comparer des dates avec JavaScript stackoverflow.com/questions/492994/...
J'ai besoin de savoir si les dates sont différentes, dans le même temps, le meilleur des cas pour ce faire. . Sur les fuseaux horaires, ce n'est pas obligatoire, mais permet simplement de dire que les données sont sur le même fuseau horaire.
OriginalL'auteur Sata | 2014-10-21
Vous devez vous connecter pour publier un commentaire.
Si vous avez seulement besoin de savoir si une date est avant ou après l'autre, vous pouvez utiliser des opérateurs de comparaison:
(Notez que pour instancier les objets Date, il est
new Date(myDateString)
, pasnew date()
comme dans votre exemple.)Cela fonctionne parce que la Date d'objets seront contraints de la sous-jacentes de l'époque valeurs, qui sont des chiffres représentant le nombre de millisecondes écoulées depuis le 1er janvier 1970, à l'heure GMT. (Relationnel comparaison utilise le résultat de la opérandes’
@@toPrimitive
ouvalueOf()
fonctions si disponible). Comme un résultat, ce sera sensibilité à l'ordre de la milliseconde, ce qui peut ou peut ne pas être désirée. Vous pouvez contrôler la granularité de la comparaison, soit en vous assurant que l'entrée inclut uniquement les valeurs à l'heure/minute/que ce soit OU en faisant fragmentaire des comparaisons comme vous l'avez décrit dans votre question.Pour les plus avancés date les opérations de comparaison, je recommande fortement d'utiliser une bibliothèque comme Moment.js car nativement il n'y a pas beaucoup de travailler avec. Par exemple Moment fournit des méthodes comme
qui peut être très utile si vous avez besoin de faire des comparaisons qu'à un certain niveau de spécificité. Mais aucun des datetime les bibliothèques sont terriblement léger, donc ne les utilisez que si vous êtes soit faire serverside code ou que vous prévoyez de l'utiliser largement. Si vous avez seulement besoin de faire une comparaison, il sera plus sage de rouler votre propre solution.
OriginalL'auteur Semicolon