2013-08-05 24 views
0

我正在Cakephp 2.x ..以及我有沒有什麼與cakephp做這個問題..所以這個場景是我有一個頁面調用設置,其中用戶設置他根據他的國家和在數據庫中,我很存儲GMT格式的時間USERINFO時區表 所以在用戶信息表中的GMT時間datetime timezone轉換cakephp/php

5.00 

現在我在其他表我有一個字段名爲日期時間其中我以這種格式存儲日期時間

2013-06-14 10:28:00 
現在

上我想與特定用戶的日期時間顯示的數據視圖頁面...

我想什麼是我想要的GMT添加到這個日期,所以我可以根據最終日期時間用戶國家...希望你承擔我想說的...

回答

1

使用Cake的內置Timehelper。與$this->Time->format('d-m-Y H:i', $data['data']['datetime'], NULL, $data['User']['timezone']);

好運:添加助手在你的控制器public $helpers = array('Time');,然後在您的視圖:

$this->Time->format($format = NULL, $date, $default = false, $timezone = NULL)

在你的情況下會。 :)

注: 從CakePHP 2.2 $format$date的順序被改變。我解釋的方式是CakePHP 2.2或更高版本。

+0

thankyou ...我認爲這是我需要的確切解決方案,但只有一個問題即將到來...錯誤即將到來,說調用成員函數格式()在非對象..我有啓用助手也在我的控制器 – hellosheikh

+0

你'回聲'助手?像這樣: '<?php echo $ this-> Time-> format($ format,$ date,$ default = NULL,$ timezone); ?> 堆棧跟蹤報告什麼? – JorickL

+0

我看到你已經找到了解決方案... http://stackoverflow.com/questions/18065086/cakephp-fatal-error-call-to-a-member-function-format-on-a-non-object – JorickL

0
<?php 
    $utc = gmdate("M d Y H:i:s"); // place your gmt timestamp here 
    echo $utc."<br>"; 
    $offset = date('Z'); //gets offset from gmt 
    echo $offset."<br>"; 
    $localtime = strtotime($utc) + $offset; // adjusts to localtime. 
    echo date("M d Y H:i:s", $localtime); 
?> 
+0

嗯,我存儲到我的數據庫已經GMT時間.. – hellosheikh

+0

我已經修改了我的答案。試試看。 – jboneca

+0

對不起,先生我didntr得到你的代碼...我的gmt值是「5.00」和日期時間是這個「2013-06-14 10:28:00」我怎麼能得到最終結果..我不需要服務器時間或日期 – hellosheikh

0
echo (new DateTime('2012-07-16 01:00:00 UTC')) 
      -> setTimezone(new DateTimeZone('GMT+8')) 
      ->format('Y-m-d H:i:s'); 

將輸出中

2012-07-16 09:00:00