Tablesorter addParser的日期类似于" aa,dd.mm.yyyy"

时间:2016-04-29 05:26:27

标签: javascript jquery tablesorter

我尝试对<xsl:template match="my_col | My_Col"> <renamed_col> <xsl:apply-templates select="@* | node()"/> </renamed_col> </xsl:template> 之类的日期进行排序,但这不起作用,因为排序器没有此格式的AddParser。

我知道数字应该替换为"Di, 29.03.2016", 但是我应该如何替换dd/mm/yyyy

1 个答案:

答案 0 :(得分:0)

由于我无法分辨您所针对的语言(“Di”是几种语言中12月的缩写),我认为最简单的方法是使用sugar或{{3}等日期库为你解析这些日期。

确保在以下代码之前设置语言环境

糖(datejs):

Date.setLocale('es'); // Spanish
$.tablesorter.addParser({
    id: 'sugar',
    is: function() {
        return false;
    },
    format: function(s) {
        var date = Date.create ? Date.create(s) : s ? new Date(s) : s;
        return date instanceof Date && isFinite(date) ? date.getTime() : s;
    },
    type: 'numeric'
});

DateJS(demo):

// make sure to load the desired locale file
// full list: https://github.com/datejs/Datejs/tree/master/build
$.tablesorter.addParser({
    id: 'datejs',
    is: function() {
        return false;
    },
    format: function(s) {
        var date = Date.parse ? Date.parse(s) : s ? new Date(s) : s;
        return date instanceof Date && isFinite(date) ? date.getTime() : s;
    },
    type: 'numeric'
});

注意:以上两个演示正在使用我的demo&amp;从fork of tablesorter复制,但这些解析器将在原始tablesorter(v2.0.5)中工作。

注意2:this fileparser)还有jQuery Globalize,但设置和使用起来有点复杂,所以我没有在此处添加;并且globalize解析器可能无法与原始版本的tablesorter一起正常工作。