1

毎日特定の時間に終了するカウントダウンを自分のページに作成したいと考えています。購入品には発送期限があり、残り時間を表示したいと考えています。そのため、その時間を過ぎているかどうかを確認し、カウンターを表示せず、代わりに「注文は明日出荷されます」という div を表示する if ステートメントが必要です。

Keith Wood によるこのすばらしい JavaScript カウントダウンを見つけました。

そして、私は別のSO投稿からこのコードで遊んでいました

しかし、それは出荷期限なので正確である必要があり、残念ながら、コードはブラウザーの現地時間しか扱っていません。太平洋時間の午後 12 時に設定する必要があります。

4

1 に答える 1

2

サーバーから時刻を取得し、JavaScript で解析できます。PHP を使用している場合は、次のようにすることができます。

var serverTime = Date.parse('<?= date("r"); ?>');

これにより、PHP は RFC2822 形式の日付をエコーし​​、JavaScript はそれを解析して Date オブジェクトを返します。ここから、他のソリューションを続行できます。

私はこれをテストしていませんが、重要なのはサーバーから時刻を取得し、JavaScript で解析することです (サーバーが正しいタイム ゾーンにない場合は、時刻を調整するだけです)。

更新:タイムゾーンの処理。

タイムゾーンを考慮するには、次のように PHP で DateTime オブジェクトを使用できます。

$datetime = new DateTime();
$datetime->setTimezone('Pacific/Nauru');

次に、次のように JavaScript にエコーします。

var serverTime = Date.parse('<?= $datetime->format("r"); ?>');

繰り返しますが、私はこれをテストしていませんが、これが私がすることです。

Date.parse のドキュメント

PHP date() 関数

DateTime オブジェクト

于 2013-07-23T06:51:32.543 に答える