如何在提交页面的时候比较本页面表单中两个日期startdate与enddate的大小,并做出判断。
有没有不管date是什么类型都能转换为可以比较大小的类型的日期函数?
用php语句写,本人不会js跟ajax,谢谢了!

解决方案 »

  1.   

    你还是应该说明 startdate和enddate的格式,我想这没有什么困难
      

  2.   

    用PHP的时间戳,$start=strtotime("startdate");$end=strtotime("enddate");date('Y-m-d H:i:s',$start)  时间戳转为时间;需要注意的是startdate最好先写成2008-8-20或者英文的格式才识别。
      

  3.   

    就是类似于Apr/20/2012这样的格式的。
      

  4.   

    一般是使用 int(10) unsigned  这种类型,直接比较就OK了
      

  5.   

    比较的时候当然得对数字int进行比较(rczjp 说的就是这个)。楼主想不管什么时间格式都进行比较,那么就得考虑把各种各样的时间格式转为数字int呀!
    如果时间为标准时间格式(不能是中文的),就可以直接用strtotime()转换为数字int。
    写一个函数进行比较呗!
      

  6.   

    有没有例子啊
    假如是$date1 = "Apr/13/2012";
    $date2 = "Apr/30/2012";
    怎么比较呢?
      

  7.   

    strtotime() 不能转化 Apr/20/2012 这种格式的日期,需要先吧 Apr转换为 数组
    如 6/20/2012
      

  8.   

    <?php
    function getTime($date)
    {
    $mon = array(
    'Jan' => 1,
    'Feb' => 2,
    'Mar' => 3,
    'Apr' => 4,
    'May' => 5,
    'June'=> 6,
    'July'=> 7,
    'Aug' => 8,
    'Sept'=> 9,
    'Oct' => 10,
    'Nov' => 11,
    'Dec' => 12
    );$m = substr($date, 0, strpos($date, '/'));
    $good = str_replace($m, $mon[$m], $date);
    // 返回整形的时间戳
    return strtotime($good);
    }
    $date1 = "Apr/13/2012";
    $date2 = "Apr/6/2012";
    // 4月13号比4月16号大,结果为true
    var_dump( getTime($date1) > getTime($date2) );
      

  9.   

    [User:liangdong Time:13:54:44 Path:~/php]$ php date.php 
    2012/7/2[User:liangdong Time:13:54:46 Path:~/php]$ cat date.php 
    <?php
    function str_to_time($str_date) {
            $mon_name = array(
                                    "Jan", "Feb", "Mar",
                                    "Apr", "May", "June",
                                    "July", "Aug", "Sept",
                                    "Oct", "Nov", "Dec"
                            );
            $mon_index = range(1, 12);        $str_date = str_replace($mon_name, $mon_index, $str_date);
            return $str_date;
    }echo str_to_time("2012/July/2");?>
      

  10.   

    cat: cat: No such file or directory
    <?php
    function str_to_time($str_date) {
            $mon_name = array(
                                    "Jan", "Feb", "Mar",
                                    "Apr", "May", "June",
                                    "July", "Aug", "Sept",
                                    "Oct", "Nov", "Dec"
                            );
            $mon_index = range(1, 12);        $str_date = str_replace($mon_name, $mon_index, $str_date);
            return @strtotime($str_date);
    }echo str_to_time("2012/July/2");?>
      

  11.   

    非常谢谢你,如果判断错误了可以用onblur把焦点定位在其中一个日期框框里面吗,同时把里面的内容设为空,让用户重新填写。谢谢了
      

  12.   


    $timeStrs=array(
    'Apr 5 2012',
    'Apr 5 2012',
    '4/5/2012',
    '2012/4/5',
    );
    foreach($timeStrs as $timeStr ){
    echo $timeStr."-->&nbsp;&nbsp;".date('Y-m-d',strtotime($timeStr)).'<br/>';
    }Apr 5 2012 --> 2012-04-05
    Apr 5 2012 --> 2012-04-05
    4/5/2012 --> 2012-04-05
    2012/4/5 --> 2012-04-05直接把这个/干掉我想更省事吧!echo date('Y-m-d',strtotime(str_replace('/',' ','Apr/20/2012')));