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>
我正在为我的 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>