2013-05-17 57 views
-1

我試圖解決這個小時,但沒有任何更大的成功。我需要這是工作如何設置php時區

(我已經設法解決其他功能(同時使用一個普通的PHP函數,如不使用{}標籤):

$mytime = $utc_str = gmdate("M d Y H:i:s", time()); 
$utc = strtotime($utc_str);) 

不過,這並不讓我設置正常gmdate而內

{}標籤,這是什麼工作都不錯,但對於該格式是錯誤的

{ 
    var $dateFormat = 'Y-m-d g:i:s A'; 
} 

結果:。2013-05-17 8:52:38 AM(我需要有時區:gmt +01),這使得時間16:52:38 PM,而不是。

我需要的是工作切換GMT格式,並與var $dateFormat = ''

編輯工作:代碼我工作:

class Guestbook{ 

    var $messageDir = 'messages'; 

    var $dateFormat = 'Y-m-d g:i:s A'; - This is where I need (GTM +01 timezone) 
    var $itemsPerPage = 5; 
    var $messageList; 

    function processGuestbook(){ 
    if (isset($_POST['submit'])) { 
     $this->insertMessage(); 
    } 

    $page = isset($_GET['page']) ? $_GET['page'] : 1; 

    $this->displayGuestbook($page); 
} 
+1

什麼是「{}'標記」?在PHP中做什麼'var'關鍵字? – deceze

+0

這是我正在做的工作,需要的時間格式爲:{ var $ messageDir ='messages'; var $ dateFormat ='Y-m-d g:i:s A'; var $ itemsPerPage = 5; var $ messageList;如果(isset($ _POST ['submit'])){$ this-> insertMessage();}這個函數返回一個函數processGuestbook(){ if } $ page = isset($ _ GET ['page'])? $ _GET ['page']:1; $ this-> displayGuestbook($ page); } – Felix

+0

'var'在php中聲明瞭類成員變量,但它在iirc中已經被棄用了 - 無論哪種方式看起來他都不想在這裏聲明一個類成員變量 – sgroves

回答

3

php_date_default_timezone is the incantation你要找的,你也可以使用date.timezone .ini設置。爲了保護每隻貓不只一種方法,如果使用DateTime對象,還可以使用DateTime::setTimezone

+0

var $ dateFormat ='php_date_default_timezone Y-m-d g:i:s A';結果在:p09p_17am31America/Denver_17America/Denverfam000000Friday31_313605America/Denver13620135America/Denver 2013-05-17 9:36:23 AM – Felix

+0

我已經在php.net上,問題是在我的情況下使用正確的函數。我不是要求消息來源,我需要解決方案,因爲我不會用這個更好地成功。 – Felix

+0

@Felix - 你爲什麼要在你的格式字符串中放一個函數名?這太愚蠢了。像任何其他人一樣調用函數。 hd1提供的鏈接中有一些示例。 –

1

如果你想獲得當前本地時間在特定的區域,將該區域設置,如果你想在當前UTC時間,然後用gmdate使用date功能

date_default_timezone_set('America/Denver'); 
$s = date("Y-m-d g:i:s A", time()); 

功能,它將忽略任何本地時區設置。

$s = gmdate("Y-m-d g:i:s A", time());