2

PHPでUTCオフセットを取得するには、使用できますdate("Z")が、これは、取得したいユーザーのコンピューターのタイムゾーンではなく、サーバーのタイムゾーンに相対的なUTCオフセットを返すと思います。検索したところ、ユーザーのコンピューターのタイムゾーンに対する UTC オフセットを取得するにgetTimezoneOffset()は、UTC 時間と現地時間の時差を分単位で返す JavaScript 関数を使用できることがわかりました。そして、phpスクリプトでこのjavascript関数を正常に使用しました。ここで私の質問は次のとおりです: javascritpgetTimezoneOffset()関数は常に (またはほとんどの場合)、ユーザーのコンピューターに対する正確な UTC オフセットを返す信頼性がありますか?

4

1 に答える 1

2

これは、ユーザーの日付/時刻設定によって異なります。ユーザーのコンピューターにタイムゾーンが設定されていることをブラウザーが認識しているものに基づいて、オフセットが提供されます。

ただし、javascript を使用している場合は、サーバー側ではなく、クライアント側、つまりブラウザで実行されることに注意してください。したがって、次の場合を除き、PHP で使用することはできません。

  • ユーザーが初めてウェブサイトにアクセスしたときに、(javascript を介して) Cookie に保存します。
  • AJAX 呼び出しを行って PHP コードを保存し、それをセッションに保存します。
  • ユーザーのコンピュータに時刻を表示したい場合は、表示したい日付と の間の時差を送信し、それをユーザーの時刻にnow()追加するgetTime()か、差を表示します (つまり、7 時間前、2 分前など)。 .)。
于 2013-01-05T13:06:48.680 に答える