现在时间是2011-08-31 09:25:00,但是我将电脑时间改为2011-10-20 12:00:00,但是我想在php程序端获取真正的时间怎么获取?可是我用php的date函数总是获取到得是电脑时间,而获取不到真正的当前时间,怎么回事?

解决方案 »

  1.   

    不知道什么意思...
    是不是你php.ini没设置时区?
      

  2.   

    php 获取是服务器时间
    服务器在本地 你获取的时间当然是电脑时间
    js获取的也是本地时间 
      

  3.   

    算看明白了... 你看到php输出的时间和 js的时间不一致是不是?上面的就是答案.php是运行在服务器端的,js是运行在客户端的.所以当然时间就不一致了,要一致当然 ajax嘛..
      

  4.   


    ....总算再次弄明白了,你的意思是说电脑时间不准,怎么获得准确的北京时间是吧? 那不是PHP做的事情,怎么调准 =你怎么调不准你就怎么给他弄准去..
      

  5.   


    那你看懂我前面说的了吗?PHP是运行在服务器端的,当用户提交数据上来的时候再进行判断.在js端是无法进行控制的。爱调不调,让他调去 调了除了意淫还能干嘛...
    简单点 你在输出页面的时候放一个时间值 <input type="hidden" id="limittime" value="xxxx">
    在js 端进行判断是不是低于这个时间 如果是 那么就拒绝继续 
    这也是可以的。电脑是用户的 他要调时间 你还不给呀?
      

  6.   

     public function date_diff($begintime)
          {     
              date_default_timezone_set('Asia/Shanghai');
               $ATnow=date("Y-m-d H:i:s");//当前时间
               print_r($ATnow);die();
         $StartTimes=strtotime(date("Y-m-d H:i:s",strtotime($begintime)));//开始预定时间
         $Start_diff=strtotime(date("H:i:s",strtotime($ATnow)));//开始预订时间/小时/分钟/秒
         $ordertime="13:30:00";
         $betweentime=ceil(($StartTimes-strtotime($ATnow))/3600/24);//相差的天数
                $dt=date("N",strtotime($ATnow));//当前星期
                switch ($dt){
         case "1":
         if($betweentime>5)
         $res='对不起,周一只能预定本周';
         break;
         case "2":
             if($betweentime>4)
                $res='对不起,周二只能预定本周';
                break;
         case "3":
         if($betweentime>3)
            $res='对不起,周三只能预定本周';
            break;
         case "4":
         if($betweentime>2)
           $res='对不起,周四只能预定本周';
           break;
         case "5":
         if($betweentime>1&&$Start_diff<strtotime($ordertime))   
            $res='对不起,周五下午13:30:00之后才能预定下周';
            break;
         default:
              $res='对不起,周末取消预定!';
              break;
                }
                return $res;
          }
      

  7.   


    Ajax 前面告诉你了,php输出服务器时间 ajax 返回数据 赋值给js处理
      

  8.   

    分析 http://www.time.ac.cn/stime.asp
      

  9.   

    我用php的date()但是获取到得还是本机时间。
      

  10.   


    你的php 在本地当然输出就是本地的时间啊你的用js 的ajax 获取服务器端的PHP输出的时间 明白了嘛?
      

  11.   

    JS和PHP获取时间的区别是,JS是运行在客户端,PHP运行在服务端,js取得客户端时间 PHP取得服务器时间,本地调试的话都是获得本机时间
      

  12.   


    用户打开页面->js开始->Ajax(post/get)->服务器端输出时间(PHP JSP ASP XXP..)->js 判断返回的时间与本地时间是否允许范围/操作
      

  13.   

    额。楼主你的服务器在本地上 
    php获取服务器时间  这个时候你的服务器在哪里?在本地。
    所以得到的是你当前系统的时间。还不明白?
    反正就是获取它运行的环境的时间
    php在服务端运行 js在客户端
    一个apache 一个 browser 
    这个时候的服务端和客户端都在你同一台电脑上
    所以当然是一样的时间
    如果单纯从客户端获取服务端时间的话 可以用ajax 去获取
    至于北京时间 也许有api可以直接调用
    可以去找找
      

  14.   

    找到一个api了
    http://www.time.ac.cn/timeflash.asp?user=flash
    直接到浏览器 会输出一个时间串
      

  15.   

    $xml = simplexml_load_file('http://www.time.ac.cn/timeflash.asp?user=flash');
    echo $t = sprintf("%d-%d-%d %d:%d:%d", $xml->time->year
      , $xml->time->month
      , $xml->time->day
      , $xml->time->hour
      , $xml->time->minite
      , $xml->time->second);注意:http://www.time.ac.cn/stime.asp 是 国家授时中心
    是我国权威的标准时间发布机构
      

  16.   


    你用的是本地服务器,所以php和js获取的都是本地服务器的时间,也就是你电脑显示的时间