2014-12-16 2 views
2

내가 로그인 할 때 및 로그인 할 때 추적하려고 노력 중 ... 온라인 출석 시스템을 만드는 중. 그리고 나는 추적하기 위해이 부호를 썼다.. 그러나 그것은 나의 지방의 시간에 선로를 간직하지 않고있다.. 내가 오전 10시에 노래하고있는 것은 그것이 오후 4시에 서명하는 것을 보여주고있다.. 나는해야한다?PHP로 내 로컬 시간을 추적하는 방법

$result = $_GET["result"]; 

    $date = date('Y-m-d'); 
    $day = date('l'); 
    $min = date('i'); 
    $hour = date('H'); 

    $min = $min - 5; 
    if($min<0){ $hour=$hour-1; $min=$min+60;} 
    $time = $hour.":".$min; 
    $settime = $time; 
    $settime1 = date('H:i'); 
?> 
<form name="form1" method="post" action= "" > 
    <table width="760" border="0" align="center" cellpadding="0" cellspacing="0">  
    <tr> 
     <td colspan="3">&nbsp;</td> 
     <td colspan="4" rowspan="4" valign="top"><br>  
     <table width="256" border="1" bordercolor="#CCCCCC"> 
      <tr> 
       <th width="82" scope="col"><div align="center">User Name </div></th> 
       <th width="82" scope="col">Time Req. </th> 
       <th width="78" scope="col">Time Spent </th> 
      </tr> 
      <?php 
       $result = $_GET["result"]; 

       $date = date('Y-m-d'); 
       $day = date('l'); 
       $min = date('i'); 
       $hour = date('H'); 

       $min = $min - 5; 
       if($min < 0){ 
        $hour=$hour-1; $min=$min+60; 
       } 
       $time = $hour.":".$min; 
       $settime = $time; 
       $settime1 = date('H:i'); 

       $query = "select * from presence where uid=".$uid." and date='".$date."'"; 
       $recordset = mysql_query($query); 
       while($record = mysql_fetch_array($recordset)){ 
        $count = 1; 
        //echo "<td>Today you timed in at:- ",$record["timein"],"</td></tr><br></table>"; 
        //$lasttimeout = $record["timeout"]; 
       } 
       if($count != 1) { 
        $query2 = "insert into presence(timein, timeout, date, uid, pday) 
        values('$settime', '$settime1', '$date', $uid, '$day')"; 
        $af = mysql_query($query2); 
        //echo "<td>Today you timed in at:- ",$settime,"</td></tr><br></table>"; 
        $lasttimeout = date('H:i'); 
       } 

       //echo "<table><tr><td>Today you last timed out at:- ",$lasttimeout," 
       //</td></tr></table>"; 
       $array1 = array(); 
       $array2 = array(); 
       $array3 = array(); 
       $array4 = array(); 
       $userid = array(); 
       $great = 0; 

       function calculate($timein, $timeout) { 
        $timespentin = split(":",$timein,3); 
        $timespentout = split(":",$timeout,3); 
        //print_r($timespentin); 
        //print_r($timespentout); 
        $t1 = $timespentin[0]*60 + $timespentin[1]; 
        $t2 = $timespentout[0]*60 + $timespentout[1]; 
        $timespent = round(($t2 - $t1)/60,2); 
        //echo $timespent; 
        return $timespent; 
       } 
+0

가 ANS 도움 않았다 .... – Hitesh

답변

0

사용 date_default_timezone_set 기능

date_default_timezone_set("Asia/Calcutta"); 

$login_time = date("Y-m-d H:i:s"); 
0

PHP 서버 및 기본 UTC 시간대에 설치, 당신은, 해당 지역의 시간대에 따라 시간대를 변경 스크립트의 상단에 date_default_timezone_set("time_zone"); 기능을 배치해야합니다

<?php 
date_default_timezone_set("Asia/Bangkok"); 
echo date_default_timezone_get(); 
echo date('Y-m-d H:i:s') 
?> 

TIMEZONE list

0

당신은 어느 표준 시간대에 있습니까? 당신은 당신이 date 기능을 사용하기 전에, 파일의 상단에 가야한다

date_default_timezone_set('Asia/Kolkata'); 

이 줄을 사용하여 기본 시간대를 설정해야합니다. 은 당신이 할 수있는 더에 setting default timezonetimezone regions

0

DateTime::getTimestamp()http://php.net/manual/en/timezones.php 유닉스 타임 스탬프를 반환

date_default_timezone_set('Asia/Kolkata');//set your time zone 

echo date('Y-m-d H:i:s');// get the date 

여기에서 설정 sefault 시간대를 참조하십시오. 이 번호는 항상 UTC입니다. 원하는 것은 시간대에 따라 날짜 형식을 지정하는 것입니다.

$dt = new DateTime("now", new DateTimeZone('Asia/Kolkata')); 

echo $dt->format('m/d/Y, H:i:s'); 

또는 필요한 것에 따라 다른 날짜 형식을 사용하십시오.

또한 모든 날짜 필요에 대해 DateTime 라이브러리를 사용할 수 있습니다. 날짜를 가져올 때마다 서버의 기본 시간대를 변경할 필요가 없습니다. 추가 정보를

읽기 here

출처 : https://stackoverflow.com/a/24914436/1877909

관련 문제