1

したがって、私のページの日付形式は、6時間先の時刻を示しています。これが私のクエリである正しい時刻を表示するように変更するにはどうすればよいですか?

   $query = "SELECT firstName,lastName, post,date_format(postDate,'%M,%d,%Y at %H:%i') as     mydatefield
      FROM users INNER JOIN posts ON userId = empl_Id
      ORDER BY postDate";

これにより、値がテーブルに挿入されます

   $query = "INSERT INTO posts(postId,empl_Id,post,postDate)
        VALUES('','$empId','$idea',NOW())";
    $result = mysqli_query($db, $query);
4

2 に答える 2

1

おそらく、UTCで時刻を保存していて、UTCから6時間遅れています。

クエリを変更しないでください。タイムゾーンの表示は、コントローラーではなく、アプリケーションのビューロジックの問題です。

ページに日付/時刻を表示するたびに、UTC値にTZオフセットを追加するだけです。ここで例を見ることができます:http ://www.php.net/manual/en/book.datetime.php

于 2013-03-26T21:57:58.117 に答える
0

この質問に記載されているように、ここで説明されているように行うことができます。

または、以下の答えとして、次のように選択することもできます。

DateTime :: setTimezone()を使用できます。UTC日付がUNIXタイムスタンプの場合、次のようなコードを使用できます。

$date = new DateTime();
$date->setTimezone(new DateTimeZone('UTC'));
$date->setTimestamp(1297869844); // this should be the 'current' then 
$date->setTimezone(new DateTimeZone('Europe/Paris'));

echo $date->format('Y-m-d H:i:s');
// Will print 2011-02-16 16:24:04

次に、それを使用して値をデータベースに挿入します。表現を変更する(UNIXタイムスタンプがすべて終わったら、それを保存することもできます。これは、話し方として人間の形に変換されるだけです)。

于 2013-03-26T22:13:06.570 に答える