如何设置php时区

时间:2013-05-17 15:22:57

标签: php timezone

我试图解决这个问题几个小时,但没有取得任何更大的成功。我需要这个工作

(我已设法使用普通的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);
}

2 个答案:

答案 0 :(得分:3)

您正在寻找

php_date_default_timezone is the incantation,您也可以使用date.timezone .ini设置。为了有不止一种方法可以为每只猫提供皮肤,如果您使用的是DateTime对象,也可以使用DateTime::setTimezone

答案 1 :(得分: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());