Dojo 对网格中与浏览器中的区域设置相对应的日期进行排序

Dojo 对网格中与浏览器中的区域设置相对应的日期进行排序,dojo,dojox.grid.datagrid,dojox.grid,date-sorting,columnsorting,Dojo,Dojox.grid.datagrid,Dojox.grid,Date Sorting,Columnsorting,问候, 我正在用dojo编写一个代码,用于比较网格中的日期列进行排序。代码如下: function(a,b){ var a1=new Date(a); var a2=new Date(b); var x = dojo.date.locale.format(a1, {datePattern: "yyyy-MM-dd", selector: "date"});

问候,

我正在用dojo编写一个代码,用于比较网格中的日期列进行排序。代码如下:

function(a,b){
                    var a1=new Date(a);
                    var a2=new Date(b);
                    var x = dojo.date.locale.format(a1, {datePattern: "yyyy-MM-dd", selector: "date"});
                    var y = dojo.date.locale.format(a2, {datePattern: "yyyy-MM-dd", selector: "date"});
                    if((a!=null)&&(b!=null)){
                     if (x.toLowerCase() < y.toLowerCase())
                {
                         debugger;
                         return -1;
                } 
                else if (x.toLowerCase() > y.toLowerCase())
                {
                    debugger;
                         return 1;
                    }
                      else 
                    {
                        debugger;
                          return 0;
                }
                }
当浏览器中的语言为英语时,代码对我来说很好,但当我改为荷兰语或其他任何语言时,它不会正确地对值排序

请导游


谢谢

我不知道为什么会出现这个问题,因为不管怎样,这些格式调用都应该返回相同的结果,但是代码似乎过于复杂了

如果您只是想按时间顺序对日期进行排序,那么您只需要将它们作为数字进行比较

var a = [ '2015-10-18', '2015-10-12', '2015-10-16' ];

a.sort(function (a, b) {
    a = new Date(a);
    b = new Date(b);
    if (a > b) {
        return 1;
    }
    if (a < b) {
        return -1;
    }
    return 0;
});

console.log(a); // ["2015-10-12", "2015-10-16", "2015-10-18"]

谢谢你的回复。我尝试了上面的共享代码,但仍然没有正确排序。感谢您的回复。我尝试了上面的共享代码,但仍然没有正确排序。我已经在原来的帖子中添加了这个图像。请看一看和指导。如果我以新日期可以成功解析的格式传递这些日期,这些日期将与上述排序函数一起工作。但是,它无法以图像中显示的格式直接解析它们。您实际向这个排序函数提供了哪些类型的值?以下是一些值。var a=['28-7-2014'、'18-12-2014'、'27-1-2013'、'14-12-2014'、'26-6-2013'];这些值为荷兰语格式