0

時刻と日付をタイム スタンプとしてクエリのテーブルに挿入していますが、これはローカル サーバー時刻として表示されています。私のローカルサーバーはアメリカにあります。

現地時間を特定のタイム ゾーン (ヨーロッパ/ロンドン) に変換しようとしています。

テーブルに挿入するときにタイムゾーン固有の時間を挿入したいのですが、これには多くの問題があり、すべてが機能しません。

だから今、私はそれをエコーアウトするときに、時間をローカルからタイムゾーン固有に変換しようとしています。これにより、次のエラーが発生します。

Catchable fatal error: Object of class DateTime could not be converted to string in /home/content/31/9118831/html/ptbadmin/stats.php on line 79

誰かがどこが間違っているのか教えてください。私のテーブルは次のようになります。

    session_id | user_ip | session_start|
    1            1.1.1.1   2013-04-08 00:15:24
    2            1.1.1.1   2013-04-08 00:15:24

ここに私のコードがあります:

     $sql = "INSERT INTO ptb_sessions (session_id, user_ip, session_start, session_end) VALUES (NULL, '" . $_SERVER['REMOTE_ADDR'] . "', UTC_TIMESTAMP(), NULL);";
                    mysql_query($sql, $connection);

   <?
$result= mysql_query("SELECT * FROM ptb_sessions");
 while($row = mysql_fetch_array($result)){
      echo"<div class=\"session_id\">{$row['session_id']}</div>";

       echo"<div class=\"user_ip\">{$row['user_ip']}</div>";

           $dt_obj = new DateTime($row2['session_start']." UTC");
      $dt_obj->setTimezone(new DateTimeZone('Europe/London'));
      echo"<div class=\"session_start\">$formatted_date_long=date_format($dt_obj, 'Y-m-d H:i:s')</div>"; 


     }
    ?>
4

2 に答える 2

0

date_default_timezone_set('Europe/London');PHPスクリプトの上で使用してみましたか?サポートされているタイムゾーンのリストの詳細については、 http<?php date_default_timezone_set('Europe/London'); //rest of your code ?> ://www.php.net/manual/en/timezones.phpを参照してください。mysqlについては、 http: //dev.mysql.com/doc/を参照してください。 refman/5.1/en/time-zone-support.html コードの微調整SET time_zone = timezone;

<?php
date_default_timezone_set('Europe/London');
$timestamp = date("Y-m-d H:i:s",time()); // Your required format
$sql = "INSERT INTO ptb_sessions (session_id, user_ip, session_start, session_end) VALUES (NULL, '" . $_SERVER['REMOTE_ADDR'] . "', $timestamp, NULL);";
mysql_query($sql, $connection);  
?>

<?php
$result= mysql_query("SELECT * FROM ptb_sessions");
 while($row = mysql_fetch_array($result)){
      echo"<div class=\"session_id\">{$row['session_id']}</div>";
      echo"<div class=\"user_ip\">{$row['user_ip']}</div>";
      echo"<div class=\"session_start\">{$row['session_start']}</div>"; 
     }
?>
于 2013-05-02T09:24:41.853 に答える
-1

このように使用することはできません...変更:

date_format($dt_obj, 'Ymd H:i:s')

に:

$dt_obj->format('Ymd H:i:s');

于 2013-05-02T09:36:57.570 に答える