時、分、秒のリアルタイムのカウントダウンを表示する必要があります。クライアント側で日付と時刻を変更しても、カウントダウンの通常の表示 (つまり、サーバー時間に基づく) には影響しません。
実際、これには多くの試験やその他のシステムの時間制限機能と同じ要件があります。
Ajax を使用してサーバー時間を毎秒取得することはできないため、リアルタイムのカウントダウンは JavaScript で実装する必要があります。これは非常に簡単で、インターネット上に多くの例があります。
ここでの問題は、クライアントによって変更された日付と時刻が表示に与える影響を解決することです。
解決策は、クライアント時間とサーバー時間の間の時間差を計算し、問題を解決することです。
この方法では、php を 1 回実行するだけで済み、リアルタイムのカウントダウン時間がサーバー時間と同期されます。
理論上は同期していますが、実際のテストでは1秒の誤差が生じます。 (具体的な理由はインターネット速度に関連しています。インターネット速度が速いほど、誤差は小さくなります。) しかし、これが上記の要件に影響することはありません。
注: フラッシュセールの時間は朝から午後10時までです。
コードは次のとおりです:
コードをコピーします コードは次のとおりです:
//phpの時間は秒単位で測定されます。 js 時間はミリ秒単位で計算されます
date_default_timezone_set('PRC');
//date_default_timezone_set("Asia/Hong_Kong");//地域
//毎日のアクティビティ期間を設定します
$starttimestr = "08:00:00 ";
$endtimestr = "22:00:00";
$starttime = strtotime($starttimestr);
$endtime = strtotime($endtimestr);
$nowtime = time();
if ($nowtime<$ starttime){
die("アクティビティはまだ開始されていません。アクティビティ時間は: {$starttimestr} から {$endtimestr}");
$lefttime = $endtime-$nowtime; //実際の残り時間 (秒) )
?>
XX: XX:XX
http://www.bkjia.com/PHPjc/321640.html
www.bkjia.com
truehttp://www.bkjia.com/PHPjc/321640.html
技術記事時、分、秒のリアルタイムのカウントダウンを表示する必要があります。クライアント側で日付と時刻を変更しても、カウントダウンの通常の表示 (つまり、サーバー時間に基づく) には影響しません。 実はこれとたくさん...