2013-05-17 6 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 = ''

Edit: код, я работаю над:

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

Что такое '' {} 'tag ?? Что такое ключевое слово 'var' в PHP? – deceze

+0

Это то, на что im работает и требуется формат времени: { var $ messageDir = 'messages'; var $ dateFormat = 'Y-m-d g: i: s A'; var $ itemsPerPage = 5; var $ messageList; функция processGuestbook() { if (isset ($ _ POST ['submit'])) { $ this-> insertMessage(); } $ 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::setTimezone, если вы используете объекты DateTime.

+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

Если вы желаете, чтобы получить текущее местное времени в определенной зоне, установить зону и использовать date функции

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

Если вы хотите текущее UTC времени, а затем использовать gmdate функция, которая будет игнорировать настройку локального часового пояса.

$s = gmdate("Y-m-d g:i:s A", time()); 
Смежные вопросы