上次提到过对表格内容进行排序的javascript程序,今天发现日期排序有个小问题。
在 http://www.kryogenix.org/code/browser/sorttable/ 里给的程序里,日期的排序仅只限于dd-mm-yyyy或者dd.mm.yyyy的格式。但我目前需要排序的日期是应用在queue里的,也就说每分钟可能会有几十条或者几百条messages进来,这样时间就会精确到秒。
而且从(new Date(msg.getJMSTimestamp())).toLocaleString() 得到的date格式为dd:mm:yyyy hh:mm:ss,所以就要对js程序进行修改。
首先将date格式定义为:
sorttable.DATE_RE = /^(\d\d?)[\/\.-](\d\d?)[\/\.-]((\d\d)?\d\d)(\s)(\d\d?)[\/\:](\d\d?)[\/\:](\d\d?)$/;
关于格式的定义可以参考RegExp的定义。
其次在 sort_ddmm: function(a,b) block 里在 if (dt1==dt2){ 条件后添加对hh,mm,和ss的判断。
修改好了的程序我放到这里了。
唔,到现在还没想好怎么识别多种格式的日期,否则这个程序只能对这种日期进行排序,实在不是很灵活啊。