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



图片排序问题

问候,

我正在编写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;
                }
                }

当浏览器中的语言是英语时,代码对我来说工作得很好,但是当我更改为荷兰语或任何其他语言时,它不会正确排序值。

请指导。

谢谢

我不知道为什么你有这个问题,因为那些format调用应该返回相同的结果,但代码似乎严重过于复杂。

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

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"]

相关内容

  • 没有找到相关文章

最新更新