0

mySQLに%Y-%m-%d%H:%M:%Sの形式の時間データがUTC+0形式であります。そして、ユーザーが使用しているローカルコンピューターの時間データ調整を表示したいと思います。

例:データは2012-05-29 15:00:00です。次に、東時間2012-05-29 11:00:00(日光節約、UTC -4時間を適用)および西海岸の時刻をユーザーに表示する必要があります。 2012-05-20 08:00:00(URC -7hour)を表示する必要があります

これを変換するためのスクリプトはありますか?PHPまたはJavascriptのどちらかが良いです。ありがとう!

4

2 に答える 2

0

UTCを使用して内部的にすべての日付を保存し、次にユーザーセットごとに保存します。

if ( $_SESSION['user_timezone'] ) date_default_timezone_set($_SESSION['user_timezone']);

勇気を持ちたいと思っていて、ユーザーがインターネットベースである場合(私のほとんどのようにVPNを使用するのではなく)、位置情報サービスを使用して位置情報を検索できます。

これをユーザーごとに保存し、ユーザーに選択させます。

ユーザーに提示するタイムゾーンリストを生成する簡単な方法:

echo '<select id="userTimezone" onChange="some_ajax_function">
        <option value="">Please select your Timezone</option>';
foreach (DateTimeZone::listIdentifiers() as $value )
{
    if ( $_SESSION['user_timezone'] == $value )
    {
        $output .= '<option value="' . $value . '" selected="selected">' . htmlentities($value) . '</option>';
    }
    else
    {
        $output .= '<option value="' . $value . '">' . htmlentities($value) . '</option>';
    }
}
$output .= '</select>';
于 2012-05-29T18:20:24.263 に答える
0

PHP DateTimeクラスを使用した簡単な例を次に示します。

$time = '2012-05-29 15:00:00';

$datetime = new DateTime($time, new DateTimeZone('UTC'));
$datetime->setTimezone(new DateTimeZone('America/Los_Angeles'));

echo $datetime->format('Y-m-d H:i:s'); // 2012-05-29 08:00:00

日時クラス

于 2012-05-29T18:24:32.720 に答える