Dojo 对网格中与浏览器中的区域设置相对应的日期进行排序
问候, 我正在用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"});
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'];这些值为荷兰语格式