我正在为我的角项目使用智能表。我面临着排序具有Date类型数据的表列的问题。我得到以毫秒为单位的列信息,我转换为日期类型。当日期没有应用任何格式时,它就像它一样工作。但是,如果我应用格式化以使其更易于阅读,则排序无法正常工作,一半数据已排序,另一半则未排序。 如果我还要应用格式,我该如何对日期类型列进行排序?
这是我到目前为止所尝试的代码片段
for(var i=0; i<$scope.rowCollection.length; i++)
{
$scope.rowCollection[i].ltime =
(new Date($scope.rowCollection[i].lastRegisteredTime )).toLocaleString();
$scope.rowCollection[i].rtime =
(new Date($scope.rowCollection[i].registeredTime)).toLocaleString();
}
在此,lastRegisteredTime和registeredTime是以毫秒为单位的数据。如果我只是将数据转换为Date而不是toLocaleString(),则排序有效。但是,为用户阅读信息并不困难,因为我也希望显示时间信息。
感谢任何帮助。 感谢
答案 0 :(得分:1)
由于 toLocaleDateString 返回一个字符串,因此您无法按ltime
排序,就像它是一个真实日期对象一样。我建议您将该字段保留为日期对象,然后在视图中使用日期过滤器,您希望在哪里显示日期。
<span>{{row.ltime|date:'YYYY/MM/DD'}}</span>
或
<span>{{row.ltime| date:'fullDate'}}</span>