0

私は、彼の国に基づいて訪問者のログイン (日付/時刻) をキャプチャしたい Web サイトを持っています。私はこのように試しました:

$date = new DateTime('now', new DateTimeZone('Australia/ACT'));<br>
$current_time=$date->format(Y-m-d'H:i:s');

動的にしたい

助けてください

ありがとう

4

3 に答える 3

0

クライアントのタイムゾーンは、クライアント側のメソッドを介してのみ取得できます。これは、PHP (サーバー) が要求しているクライアントの TZ を決して知らないことを意味します。

クライアントのタイムゾーンを取得する方法を参照してください。JavaScript でクライアントのタイムゾーンを取得します。

于 2013-10-11T06:50:44.867 に答える
0

PECL の geoip を使用できます: http://pecl.php.net/package/geoip

ドキュメントは次のとおりです。 http://www.php.net/manual/en/ref.geoip.php

これにより、IP ( geoip_country_code_by_name()およびgeoip_region_by_name() )に従ってユーザーを見つけることができます。また、国コードとタイムゾーンをマッピングする関数 ( geoip_time_zone_by_country_and_region() ) があります。

例:

function getTimezone($ip)
{
    return geoip_time_zone_by_country_and_region(
        geoip_country_code_by_name ($ip),
        geoip_region_by_name($ip)
    );
}
于 2013-10-11T06:51:15.760 に答える
0

まず、次を使用してクライアント IP を取得します。

$ip     = $_SERVER['REMOTE_ADDR'];

次にgoipを使用して、ユーザーの国とタイムゾーンを取得できます。それは簡単です。

于 2013-10-11T07:06:20.673 に答える