1

データベースに日付を DATETIME 型で保存します。Ymd H:i:s のようになります。

私が達成したいのは、ユーザーの現地時間でデータベースから日付を返すことです。たとえば、ユーザーがフランスにいる場合、ユーザーのタイムゾーンを返します。ユーザーのタイムゾーンを保存せずにこれを達成することは可能ですか? または、別の方法でそれが可能で、データベースの保存形式を変更する必要がある場合は、それを行うことができます。しかし、ユーザーのタイムゾーンを保存せずにこれを達成しようとしています。

4

3 に答える 3

2

時刻を UTC でデータベースに保存してから、アプリケーションでタイムゾーンのローカライズを行います。ただし、ユーザーのタイムゾーンを知る必要があります。

于 2012-04-13T15:50:48.597 に答える
1

さて、ユーザーにタイムゾーンを尋ねずにそれを行う唯一の方法は次のとおりです。

<p>The time is: <span id="time" data="<?php echo strtotime($time_from_db); ?>"></span></p>
<script type="text/javascript">
    (function () {
        var t = document.getElementById('time'), d = new Date();
        d.setTime(t.getAttribute("data"));
        t.innerHTML = d;
    })();
</script>

これにより、日時がタイムスタンプとして渡され、JS がロケール (タイムゾーンを含む) を適用します。

于 2012-04-13T15:52:03.613 に答える
1

日付を GMT で保存すると、タイムゾーンでユーザーに表示できます。

編集:

 date_default_timezone_set('UTC');
 $today = getdate();
 print_r($today);

これを確認してください: php convert datetime to UTC およびこれ: Convert UTC date to local time in PHP およびこれ: http://www.php.net/manual/en/function.gmdate.php

于 2012-04-13T15:52:17.300 に答える