0

関数を使用して自分のサイトでイベントが発生したときにデータベースに保存し、time()それらを関数でエコーアウトしていdate()ます。

私の唯一の問題は、それが UTC としてエコーされることですが、ユーザーが世界の他の場所にいる場合はどうなりますか? date()タイムゾーンを検出して関数に渡すにはどうすればよいですか?

これは可能ですか?

ありがとう!

4

1 に答える 1

1

わかりました。セッションの方法を好む場合は、ユーザー ログイン フォームに隠しフィールドを配置し、JS を使用して値を指定します。簡単なイラスト:

<form>
<input type="text" name="username">
<input type="password" name="password">
<input type="hidden" name="offset" id="offset">
</form>
<script language="JavaScript">
document.getElementById("offset").value=(new Date).getTimezoneOffset();
</script>

PHP 側では、次のdateように結果を操作します。

$_SESSION["offset"]=intval($_GET["offset"]);
/*works here...*/
$date=date("Y-m-d",time()-($_SESSION["offset"]*60));

また、すべてのクライアントの方法で実行したい場合は、 を使用Date().getTimezoneOffset()して結果を操作します。

MDN ドキュメント

于 2012-08-22T03:30:38.973 に答える