-1

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

(我已经设法使用普通的 php 函数修复了另一个函数(而不使用{}标签),例如:

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

但它不允许我在{}标签内设置正常的 gmdate。

这是行之有效的方法,但 for 格式是错误的。

{
    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);
}
4

2 回答 2

3

php_date_default_timezone 是您正在寻找的咒语,您也可以使用 date.timezone .ini 设置。为了给每只猫剥皮的方法不止一种,如果您使用的是 DateTime 对象,还可以使用DateTime::setTimezone 。

于 2013-05-17T15:33:49.093 回答
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());
于 2013-05-17T17:47:28.290 回答