2017-04-19 11 views
0

タイムゾーンパラメータごとに次のコードを使用してサーバ上の現在時刻を取得していますが、出力が間違っています。 10分20分ほど遅れてからサーバ時間が遅れます。また更新されません。どのようにそれを解決するには?何か案が?PHPのタイムゾーンがサーバの現在時刻と一致しません

<?php 

function server_time_as_per_users_zone($users_zone){ 
    $dateTime = new DateTime('now', new DateTimeZone($users_zone)); 
    $r = $dateTime->format("d-m-Y h:m A"); 
    return $r; 
} 

echo server_time_as_per_users_zone("Asia/Dhaka"); 
+0

あなたは元の時間は大丈夫です、あなたのサーバーを確認しましたか? :)私はこのスクリプトが完璧だと思うが、問題はあなたの入力である – Peter

+0

XamppサーバーのローカルPCの10台のPC –

答えて

1

不適切な形式のマスクを使用しています。 mは、分ではなく月の数を表します。

function server_time_as_per_users_zone($users_zone){ 
    $dateTime = new DateTime('now', new DateTimeZone($users_zone)); 
    $r = $dateTime->format("d-m-Y h:i A"); 
    return $r; 
} 

echo 'UTC   - ' . server_time_as_per_users_zone("UTC").PHP_EOL; 
echo 'Europe/London - ' . server_time_as_per_users_zone("Europe/London").PHP_EOL; 
echo 'Asia/Dhaka - ' . server_time_as_per_users_zone("Asia/Dhaka").PHP_EOL; 

結果に

変更を:

UTC   - 19-04-2017 05:40:23 PM 
Europe/London - 19-04-2017 06:40:23 PM 
Asia/Dhaka - 19-04-2017 11:40:23 PM 
+0

だからこそ52Kというのがその理由だ。おかげで多くの仲間! –

関連する問題