8

PHPでユーザーのタイムゾーンを取得し、視聴者のタイムゾーンに基づいて時間を表示する方法があるのだろうか。私はそれがjavascriptでできることを知っていますが、私はphpで解決策が欲しいです。たくさん検索しましたが、この作業を行う方法が見つかりません。

したがって、基本的に、時刻が8:30 GMT+0530であると想定します。インドのタイムゾーンでは、ユーザーがこれをニューヨークで表示する場合は21:30になります。

4

3 に答える 3

6

登録中にユーザーのタイムゾーンを追加した場合、またはユーザーのタイムゾーンを何らかの方法で知っている場合は、これを試すことができます...

$users = [
    [
        'username' => 'foo',
        'timezone' => 'America/Los_Angeles'
    ],
    [
        'username' => 'bar',
        'timezone' => 'America/New_York'
    ]
];

foreach ($users as $user) {
    date_default_timezone_set($user['timezone']);
    echo $user['username'] . ' date and time is ' . date('Y-m-d H:i:s') . '<br />';
}

出力

foo time is 2013-02-28 18:13:49
bar time is 2013-02-28 21:13:49

JavaScrptでタイムゾーンを使用することもできます。JavaScriptでクライアントのタイムゾーンを取得します。Ajaxリクエストを作成し、PHPセッションまたはデータベースに保存します。

于 2013-03-01T02:14:32.077 に答える
3

ユーザー情報を取得し、デフォルトのタイムゾーンを設定する必要があります

date_default_timezone_set()を見てください

そしてipgeolocationapi

于 2013-03-01T02:06:34.860 に答える
1

ユーザーのIPを、IPInfoDBなどの利用可能な多くのジオロケーションデータベースと交差させることで、ユーザーのタイムゾーンを取得できます。

http://ipinfodb.com/ip_location_api.php

無料のAPIキーに登録する必要がありますが、実際の例も提供されます(上記)

于 2013-03-01T02:12:25.670 に答える