0

私はCakephp 2.xに取り組んでいます..まあ、私が抱えている問題はcakephpとは何の関係もありません..シナリオは、ユーザーが自分の国とデータベースに応じて自分のタイムゾーンを設定する設定と呼ばれるページがありますUserinfoテーブルにgmt形式で時間を保存しているので、userinfoテーブルではgmt時間は

 5.00

現在、他のテーブルにはdatetimeというフィールドがあり、この形式でdatetimeを保存しています

 2013-06-14 10:28:00

ビューページで、特定のユーザーのdateTimeでデータを表示したい...

私が欲しいのは、この日時にgmtを追加して、ユーザーの国に応じて最終的な日時を取得できるようにすることです...私の言いたいことを理解していただければ幸いです...

4

3 に答える 3

2

Cake のビルトイン Timehelperを使用します。ヘルパーをコントローラーに追加してpublic $helpers = array('Time');から、ビューに追加します。

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

あなたの場合、それは次のようになります:$this->Time->format('d-m-Y H:i', $data['data']['datetime'], NULL, $data['User']['timezone']);

頑張ってください。:)

注: CakePHP 2.2 以降、$formatとの順序$dateが変更されました。私が説明した方法は、CakePHP 2.2 以降の場合です。

于 2013-08-05T17:01:17.293 に答える
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
于 2016-04-22T08:35:35.240 に答える
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);
?>
于 2013-08-05T15:58:49.377 に答える