st-sort 不适用于日期列

st-sort doesn't work on date column

我正在为我的 angular 项目使用智能 table。我在对具有日期类型数据的 table 列进行排序时遇到问题。我以毫秒为单位获取列信息,并将其转换为日期类型。当日期未应用任何格式时,它会按原样工作。但是,如果我应用格式以使其更易于阅读,排序将无法正常工作,一半数据已排序,另一半则未排序。 如果我也想应用格式,如何对日期类型列进行排序?

这是我目前尝试过的代码片段

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都是以毫秒为单位的数据。如果我只是将数据转换为日期而不使用 toLocaleString(),则排序有效。但是,对于用户来说阅读信息有点困难,因为我也想显示时间信息。

感谢任何帮助。 谢谢

因为 toLocaleDateString returns 一个字符串,你不能按 ltime 排序,就好像它是一个真正的日期对象一样。我建议您将该字段保留为日期对象,然后在您希望显示日期的视图中使用日期过滤器。

         <span>{{row.ltime|date:'YYYY/MM/DD'}}</span>

          <span>{{row.ltime| date:'fullDate'}}</span>