Javascript 使用StupidTable JS和Date列进行排序

Javascript 使用StupidTable JS和Date列进行排序,javascript,php,jquery,sorting,Javascript,Php,Jquery,Sorting,我正在使用StupidTable JS对我的表列进行排序。效果很好。然而,我的大多数专栏都以 data-sort='string' 现在我有一个需要排序的日期列。不知道怎么做。这些信息来自数据库,所以我认为我需要一些功能。每个日期的格式是 dd-Mon-yyyy ex: 12-MAY-2015 or 25-JUL-2014 ??将日期字符串转换为时间戳(整数)后,您可以按int进行排序 从文档中: 该插件在内部识别“int”、“string”、“string-ins”(不区分大小写)和“fl

我正在使用StupidTable JS对我的表列进行排序。效果很好。然而,我的大多数专栏都以

data-sort='string'
现在我有一个需要排序的日期列。不知道怎么做。这些信息来自数据库,所以我认为我需要一些功能。每个日期的格式是

dd-Mon-yyyy ex: 12-MAY-2015 or 25-JUL-2014

??将日期字符串转换为时间戳(整数)后,您可以按int进行排序

从文档中:

该插件在内部识别“int”、“string”、“string-ins”(不区分大小写)和“float”,因此简单的数据表只需您花费很少的精力

然后对th元素使用
data sort='int'


或者您可以使用自定义函数:

对于许多简单的表来说,这些数据类型就足够了。但是,如果您需要不同的数据类型进行排序,您可以轻松创建自己的数据类型

日期
变量表=$(“表”).stupidtable({
“日期”:功能(a、b){
//将它们放入日期对象中进行比较。
aDate=新日期(a);
b日期=新日期(b);
返回aDate-bDate;
}
});

注意:上面的代码未测试

我遇到了相同的问题,并按如下方式修复了它:


2015051212-MAY-2015
如果您可以控制HTML的呈现,那么您可以在仍然显示日期的同时根据时间戳进行排序

否则,您将需要创建一个自定义排序函数


名称
生日
乔·麦卡洛
1991年4月25日
克林特·邓普西
1983年3月9日
…
var dateString = '12-MAY-2015'
var date = new Date(dateString).getTime()
// 1431385200000
<th data-sort="date">Date</th>

var table = $("table").stupidtable({
  "date": function(a,b){
    // Get these into date objects for comparison.
    aDate = new Date(a);
    bDate = new Date(b);
    return aDate - bDate;
  }
});