【发布时间】:2019-01-10 14:08:16
【问题描述】:
我有 2 个日期需要做一些逻辑处理。第一个日期来自 SQL 数据库,第二个日期是来自角度的当前日期。
如果 SQL 日期较早,我想在 HTML 表格中显示它们,应用 css 样式behind 和以后,应用 ahead css 样式。
我在component.ts 中使用的当前日期是:
today: any = Date.now();
我使用ngIf 的 HTML 表格是:
<td *ngIf="p.serverDate >= today" class="ahead">{{ p.serverDate | date }}</td>
<td *ngIf="p.serverDate < today" class="behind">{{ p.serverDate | date }}</td>
p 是从数据库返回的包含日期的对象。我很确定我有serverDate 和today。我可以在它们两个上使用date 管道。为什么我不能在这里使用简单的 if 语句?
更新:我刚刚发现
serverDate 是 2018-07-24T20:34:48 和 today 是 1533235371115 格式。
【问题讨论】:
-
I can't use是什么意思?你有错误吗?还是没有显示<td>? -
你试过
+p.serverDate >= +today或p.serverDate.getTime() >= today.getTime()你需要比较“=”的毫秒数否则会返回错误的结果。 -
在我当前的设置中,没有进行任何比较。基本上,
td什么都没有。我使用了+和getTime(),我收到getTime()不是函数 -
你可以做一些事情来帮助调试是
*ngIf="compareFn(p.server, today)",然后在组件中做类似compareFn(s, t){ console.log(s, t, s < t)}的事情 -
@GoGO 您是否尝试将
server替换为serverDate?如果是这样,请更新问题以更正错字。