Angular JS comparer deux Dates sont égales ou pas
J'ai utilisé cette angulaire code de comparer deux dates sont égales ou non.
Code:
<div class="batchPlannings">
<div ng-repeat="batchPlanning in batchPlannings"
ng-animate="'animate'">
<div ng-switch="batchPlanning.status">
<div ng-switch-when="MAPPED" class="my-switch-animation">
<p>start date: {{batchPlanning.startDate}}</p>
<p>placement date: {{placementDate}}</p>
<div ng-if="batchPlanning.startDate === {{placementDate}}"
class="my-switch-animation">
<a th:href="@{/placement}" class="list-group-item"
sec:authorize="hasAnyRole('ROLE_SYSTEM_ADMIN', 'ROLE_CENTER_ADMIN')">Batch
with batch code '{{batchPlanning.batchCode}}' is ready for
placements</a>
</div>
</div>
</div>
</div>
</div>
Ici, je veux vérifier tester ces deux dates ou égal ou pas
Je reçois ces dates parfaite fin et ceux qui sont égaux, mais incapable de le faire de cette condition en tant que vrai.
Je l'ai vérifié avec ==, mais pas de résultat.
De l'aide ou des suggestions seront appréciées.
- essayez chage batchPlanning.startDate === {{placementDate}} à batchPlanning.startDate === placementDate
- Merci pour la réponse rapide..Ok, pas sûr que je vais vous laisser savoir..
- Merci beaucoup... vous avez sauvé ma journée...C'est de travailler..
Vous devez vous connecter pour publier un commentaire.
JavaScript utilise des objets pour stocker les valeurs de date. Lorsque vous souhaitez comparer si deux dates sont égales à ne pas faire
date1 === date2
. Qui va juste vous dire si les deux variables référencent le même objet.De vérifier si les deux dates sont égales utiliser le
getTime()
méthode de l'objet date. Comme ceci:date1.getTime() == date2.getTime()
Être prudent, car de toute différence dans les secondes ne correspond pas aux dates.
Maintenant
ng-if
acceptera AngularJS expressions. Vous avez cela dans votre exemplebatchPlanning.startDate === {{placementDate}}
. Qui est une défaillance de l'expression.{{placementDate}}
est la syntaxe utilisée pour créer une liaison.Ce que vous voulez faire est de
batchPlanning.startDate.getTime() == placementDate.getTime()
.De s'assurer que les deux variables sont valides JavaScript les objets date.
Je recommande que vous utilisez le
moment
bibliothèque javascript pour la date de traitement. Il permet de travailler avec des dates beaucoup plus facile.http://momentjs.com/