gpt4 book ai didi

javascript - Angular JS比较两个日期是否相等

转载 作者:行者123 更新时间:2023-11-30 08:40:00 26 4
gpt4 key购买 nike

我已经使用这个 Angular 代码来比较两个日期是否相等。

代码:

<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>

我想检查这两个日期是否相等我正在使那些日期完美无缺,并且这些日期也相等,但无法使该条件为真。我也用 == 检查了它,但没有结果。

如有任何帮助或建议,我们将不胜感激。

最佳答案

JavaScript 使用对象来存储日期值。如果您想比较两个日期是否相等,请不要这样做 date1 === date2。这只会告诉您这两个变量是否引用同一个对象。

要检查两个日期是否相等,请使用日期对象的 getTime() 方法。像这样:

date1.getTime() == date2.getTime()

请小心,因为秒数的任何差异都将与日期不匹配。

现在 ng-if 将接受 AngularJS 表达式。您的示例 batchPlanning.startDate === {{placementDate}} 中有这个。这是一个无效的表达。 {{placementDate}} 是用于创建绑定(bind)的语法。

你想要做的是 batchPlanning.startDate.getTime() == placementDate.getTime()

确保两个变量都是有效的 JavaScript 日期对象。

我建议您使用 moment javascript 库进行日期处理。它使处理日期变得更加容易。

http://momentjs.com/

关于javascript - Angular JS比较两个日期是否相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27547644/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com