2014-05-13 2 views
-1

godaddy 호스팅 서비스를 사용하고 있으며 현지 시간을 관리 할 수 ​​있습니다. 서버 기본 시간 인 America/Phoenix를 사용해야합니다.PHP 시간 관리 기능

난 내 설정 파일에 date_default_timezone_set("Asia/Kolkata"); 기능을 사용하고 있더라도 다음 또한 시간에 차이가없고 GoDaddy와 사람들이 내가이 녀석하지만 응답을 호출 피곤, 좀 도와 준비가되어 있지 않은, 나는 그들 모두를 싫어 .

함수 나 외부 API를 사용하여 로컬 시간을 가져올 수있는 방법이 있습니까?

내가 여기에 오후 4시 38분 경우에도

The current server timezone is: Asia/Kolkata05/14/2014 12:06:26 am 

을 ...이 코드

 //set time zone india 
     date_default_timezone_set("Asia/Kolkata"); 
     $timezone = date_default_timezone_get(); 
     echo "The current server timezone is: " . $timezone; 
     $date = date('m/d/Y h:i:s a', time()); 
     echo $date."<br>";  

내가 무엇입니까 출력되어 사용하고

+3

로 변환한다는 것입니다 문제를 해결하지 못하면 잘못된 장소에서 사용할 것입니다. – asprin

+0

date_default_timezone_set ("Asia/Kolkata"); 그것이 사실로 돌아가고 있는지보십시오. – dmullings

+0

컨설팅 비용을 지불 할 의사가 없으면 전세계 호스팅 지원이 프로그래밍 질문에 도움이되지 않을 수 있습니다. 이제 질문을 편집하고 "시간에 차이가 없다"는 것을 설명해 주시겠습니까? 기본 시간대를 변경하면 절대로 시스템 시계 또는 그와 비슷한 것을 변경하지 않습니다. –

답변

0

date_default_timezone_set 작동합니다 그러나 date과 같은 PHP 함수의 경우 MySQL과 같은 데이터베이스의 날짜/시간 요소에 문제가있는 것 같아요.

나는

당신이 당신의 데이터베이스에 연결을 설정 한

,이 쿼리를 실행해야 ... 대신 유럽/런던의 UTC에 모든 것을 얻을하려고 할 때 내가 전에 비슷한 문제를 했어 알고 :

SET time_zone = 'Asia/Kolkata'; 

date_default_timezone_set 외에도 문제를 해결해야합니다. 그러나 DATETIME 열을 사용하는 경우 해당 열은 수정되지 않습니다. TIMESTAMP 열은 내부적으로 UTC로 저장되고 검색시 변환되므로 열이 자동으로 새 시간대로 고정됩니다.

+0

작동하지 않습니다. 내 편집을 참조하십시오. –

+0

허. 이상합니다. 'echo date ("e")'시도해 주시겠습니까?이것은'date'에 의해 내부적으로 사용 된 시간대를 출력합니다. –

+0

에코 데이트 ('Y-m-d H : i : s a')를 사용하는 동안 데이트 ('e')에 아메리카/피닉스를 출력하고 있습니다. 그것은 나에게 2014-05-13 12:21:04 pm을주고있다. 그러나 피닉스에서 그것은 4:20 am –

0

date_default_timezone_set을 만지면 안됩니다. 적절한 방법은 DateTimeZone 객체를 사용하는 것입니다. 이런 식으로 뭔가가 :;`ISN을

$now = new \DateTime('now', new \DateTimeZone('Asia/Kolkata')); 
    echo $now->format(\DateTime::ATOM); 

그래서 아이디어는 서버의 시간대에서 개체를 만든 다음`date_default_timezone_set ("아시아/콜카타")를 사용하는 경우 시간대

+1

음,'date_default_timezone_set()'이 존재하기 때문에 코드베이스 전체에 동일한 초기화 코드를 분산시킬 필요가 없습니다. 귀하의 방법은 단지 그것을 더 복잡하게 만듭니다. –

+0

@ ÁlvaroG.Vicario 내 방법은 매우 명확하게되어있어 신뢰할 수 있습니다. 'date_default_timezone_set'의 문제점은 – JimiDini

+0

사이에서 수정할 수 있다는 것입니다. @JimiDini : 잘못된 시간이 잘못되었습니다. –