使用角度2中的ngIf比较日期的最佳方法?

时间:2017-04-11 15:58:18

标签: angular

我正在尝试使用ngIf比较我的应用中的日期,但到目前为止我还没能使它正常工作。

(require '[clojure.test.check :as tc])
(require '[clojure.test.check.generators :as gen])
(require '[clojure.test.check.properties :as prop])

(def sort-idempotent-prop
  (prop/for-all [v (gen/vector gen/int)]
    (= (sort v) (sort (sort v)))))

(tc/quick-check 100 sort-idempotent-prop)
;; => {:result true, :num-tests 100, :seed 1382488326530}

我想使用日期管道比较它们,因为完整日期字符串上的时间不同我只想比较日期。任何有关如何正确执行此操作的建议都非常感谢。

3 个答案:

答案 0 :(得分:0)

最快的解决方案是this.todaysdate.setHours(0, 0, 0, 0);,您将在构造函数之前的日期执行此操作。

但您也可以将其发送到组件*ngIf="compareDates()"

并在其上表达
compareDates(){
   return this.todaysdate.setHours(0, 0, 0, 0) == this.duedate.setHours(0, 0, 0, 0);
}

答案 1 :(得分:0)

当您正确设置日期格式(例如,圣诞节为20191224)时,比较可以正常工作。所以这应该工作

delete

答案 2 :(得分:0)

有点额外,但这是我根据比较到期日期的答案所做的。此外,“expireDate”作为一个对象出现,我不能简单地通过两个日期对象进行比较。

.ts

today = new Date();

.html

<div *ngIf="(expireDate | date: 'yMMdd') > (today | date: 'yMMdd'); else template_Expired">
      {{ expireDate | date }}
</div>

<ng-template #template_Expired>
      <div class="expired">
        {{ expireDate | date }}
      </div>
</ng-template>

.css

.expired {
  font-weight: bold;
  color: red;
}