alert(new Date(produceDate.replace(/-/g, "/")).toLocaleDateString()>=new Date().toLocaleDateString())produceDate为从页面获取的日期
当前日期为今天即 2010年3月2日当我的 produceDate 设置在 2010-10-01到 2011-01-01 之间的时候 奇迹出现了 alert竟然是false
日期大于2010-03-02 小于2010-10-01  和大于 等于 2011-01-01  都会alert true
郁闷我需要这样比较以判断输入日期是否大于当前日期
还望高手给出解决方法

解决方案 »

  1.   

    你这是字符串比较吧
    应该用Date.parse来做
      

  2.   


    alert(new Date(produceDate.replace(/-/g, "/")).getTime() >= new Date().getTime()) 
    这样可以.
      

  3.   

    alert(new Date(Date.parse(produceDate.replace("-", "/"))).toLocaleDateString()>=new Date().toLocaleDateString());
    这样写也是一样的
      

  4.   

    我不能用getTime 因为还要必须是小于当天的 页面的日期 无时间 只有日期 所以 如果这样比较页面日期肯定小于当天
      

  5.   


    produceDate = "2010-10-01";
    function formatDate(date){
        var y = date.getFullYear(), m = date.getMonth() + 1, d = date.getDate();
        return y + (m < 10 ? "0" + m : m) + (d < 10 ? "0" + d : d);
    }
    alert(formatDate(new Date(produceDate.replace(/-/g, "/"))) >= formatDate(new Date())) 
    小于10的月份前面要加0,要不然按字符串比较3会大于10
      

  6.   

    http://www.w3school.com.cn/js/jsref_getTime.asp用getTime()毋意
      

  7.   

    Date.parse(produceDate.replace(/-/g, "/"))>=Date.parse(new Date().toDateString())这样就可以比较日期了
    结贴
    谢谢各位