在 javascript  中这样格式的两个时间怎么比较 
2007-6-27 16:35:15
2007-6-25 18:34:28
怎么比较它们的大少?

解决方案 »

  1.   

    var time1 = "2007-6-27 16:35:15";
    var time2 = "2007-6-25 18:34:28";
    //正则表达式
    var reg = /(\d{4})\-(\d{1,2})\-(\d{1,2})\s(\d{1,2})\:(\d{1,2})\:(\d{1,2})/gi;var date1 = null, date2 = null;if (reg.test(time1))
    {
    date1 = new Date(RegExp.$1, RegExp.$2, RegExp.$3, RegExp.$4, RegExp.$5, RegExp.$6);
    }reg = /(\d{4})\-(\d{1,2})\-(\d{1,2})\s(\d{1,2})\:(\d{1,2})\:(\d{1,2})/gi;
    if (reg.test(time2))
    {
    date2 = new Date(RegExp.$1, RegExp.$2, RegExp.$3, RegExp.$4, RegExp.$5, RegExp.$6);
    }
    if (date1 != null && date2 != null)
    {
    alert(date1.getTime() - date2.getTime());
    }
      

  2.   

    要把它们变成Date对象//把yyyy-mm-dd转成mm-dd-yyyy
    function ChangeDateFormat(s) {
        var a = s.split("-");
        return a[ 1 ] + "-" + a[ 2 ] + "-" + a[ 0 ];
    }// 通过yyyy-mm-dd hh:MM:ss格式的字符串分析成Date对象
    function ParseDate(s) {
    var a = null;
    var d = null;
    var t = null; a = s.split(" ");
    d = a[ 0 ];// 日期部分
    d = ChangeDateFormat(d);
    t = a[ 1 ];// 时间部分
    return new Date(d + " " + t);
    }function CompareDate(s1, s2) {
    var d1 = null;
    var d2 = null;
    var t1 = 0;
    var t2 = 0;
    var result = 0; d1 = ParseDate(s1);
    d2 = ParseDate(s2); t1 = d1.getTime();
    t2 = d2.getTime(); if (t1 > t2) {
    result = 1;
    } else if (t1 < t2) {
    result = -1;
    } else {
    result = 0;
    } return result;
    }alert(CompareDate("2007-6-26 18:34:28", "2007-6-25 18:34:28"));