AngularJS 比较日期错误

J·多伊

我刚刚写了这段代码。它应该标记他们的日期列在过去的行。

这是代码:

        <tr ng-repeat="row in records | orderBy: sortType : sortReverse" ng-class="{past_date:(date | date:'y M d') > (row.oddate | date:'y M d')}">
            <td>{{ $index +1 }}</td>
            <td>{{row.pname + " " + row.sname}}</td>
            <td>{{row.areaname}}</td>
            <td>{{row.oddate}}</td>
            <td>{{row.odtime}}</td>
            <td>{{row.cnt}}</td>
        </tr>

我的应用程序有:

$scope.date = $filter('date')(Date.now(), 'yyyy-MM-dd');//new Date();

一切正常(标记了过去的行),但也标记了其他一些行!(05/06/2017 之前标记 - 好,06/06/2017 - 08/06/2017 未标记 - 好,11/06/2017-29/06/2017 标记 - 问题!,02/07/2017 及以上未标记 - 好)。

我检查了一下,所有的日期都很好。

小提琴

可能是什么问题??

谢谢!

冰凉

由于字符串比较“5”>“11”而发生问题

您将日期转换为y M d,因此“2017 5 1”将被评估为大于“2017 11 1”

解决方案:使用零填充格式 yMMdd

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章