<script language="javascript">
var date1 = "2004-2-28";
var date2 = "2004-2-29";
alert(StringToDate(date1) > StringToDate(date2));
alert(StringToDate(date1) < StringToDate(date2));
alert(StringToDate(date1) == StringToDate(date2));function StringToDate(Str)
{
return new Date(Str.replace(/-/,"/"));
}</script>

解决方案 »

  1.   

    StringToDate()是一个自定义函数,你要用到这个函数就必须把
    function StringToDate(Str)
    {
    return new Date(Str.replace(/-/,"/"));
    }
    也放到<script></script>中去,要不然就会出现"缺少对象"的错误.
    现在的这个函数只能识别YYYY-MM-DD格式的日期和YYYY/MM/DD格式的日期
      

  2.   

    <script>
    var date1 = "2004-2-28";
    var date2 = "2004-2-29";
    date1=date1.replace(/-/g,"")-0; //转成数字.
    date2=date2.replace(/-/g,"")-0; //转成数字.
    if(date1-date2>0)alert('date1大于date2')
    if(date1-date2<0)alert('date1小于date2')
    if(date1-date2==0)alert('date1等于date2')
    </script>
      

  3.   

    /*****************************************************************
    名称:DateCompare
    功能:计算两个字符(YYYY-MM-DD)日期相隔天数
          判断一个日期是否在另一个指定日期之后和之前
    参数:asStartDate,起始日期
          asEndDate,终止日期
    返回:相隔天数的字符串
    *****************************************************************/
    function DateCompare(asStartDate,asEndDate){
       var miStart=Date.parse(asStartDate.replace(/\-/g,'/'));
       var miEnd=Date.parse(asEndDate.replace(/\-/g,'/'));
       return (miEnd-miStart)/(1000*24*3600);
    }
      

  4.   

    to  wanghr100(灰豆宝宝.net) :
    <script>
    var date1 = "2004-2-28";
    var date2 = "2004-2-29";
    date1=date1.replace(/-/g,"")-0; //转成数字.
    date2=date2.replace(/-/g,"")-0; //转成数字.
    if(date1-date2>0)alert('date1大于date2')
    if(date1-date2<0)alert('date1小于date2')
    if(date1-date2==0)alert('date1等于date2')
    </script>
    -------
    这样判断会认为2004-2-21大于2004-12-1