1

クライアント側の時間をサーバーの時間に変換するのに最も苦労しています。その理由は、cronジョブを1時間に1回実行しているためです。Javaスクリプトでタイムゾーンオフセットを取得できましたが、タイムゾーンオフセットを適用する方法がわかりません。たとえば、私のタイムゾーンオフセットは7です。何より?このオフセットをどのように適用すればよいですか?

オフセットを取得するには、

var offset = new Date().getTimezoneOffset();

サーバー側はphpによって処理されます。

4

1 に答える 1

1

他の人がコメントで言っているように、最良のアプローチはUNIXタイムスタンプを使用することです。これをJavaScriptで取得するには、次のコードを使用します。

var date = Math.round(new Date().getTime() / 1000);

getTimeミリ秒単位の値を返しますが、その値は秒単位である必要があるため、1000で除算します。

次に、AJAXを使用してその値をサーバーに送信するか、値を非表示のフォームフィールドに入力して、ユーザーがフォームを送信したときにサーバーに送信することができます。

PHPでは、次のように日付を取得できます。

$date = new DateTime();
// 1341773609 is the UNIX timestamp, which I got from running the above
// JavaScript and alerting the date
$date->setTimestamp(1341773609);
echo $date->format('Y-m-d H:i:s');
于 2012-07-08T18:56:30.873 に答える