基本的に私はSQLクエリでdatetime + interval(将来は何か)の行を挿入します。JavaScriptのカウントダウンとタイムゾーン
$interval = new DateInterval('PT'.$H.'H'.$i.'M'.$s.'S');
$date = new DateTime(); $date->add($interval);
$query = $conn->prepare("INSERT INTO profiles_in_missions (id_pim, id_profile, id_mission, time) VALUES (NULL, :idprofile, :idmission,:time)");
$query->bindValue(':idprofile', $tableau[0]);
$query->bindValue(':idmission', $id);
$query->bindValue(':time', $date->format('Y-m-d H:i:s'));
$query->execute();
私のPCが表示されている場合:23時40分に、と私は+ 8minutesの間隔で日時を挿入すると、このクエリは、データベース内の21:48を格納します。今まで大丈夫、私のデータベースはGTM + 00で、私のPCのデフォルトブラウザはGTM + 2です。
一度格納されると、(この場合)-2h + 8mを得たこの日付を選んでカウントダウンします。
今問題:カウントダウンを行うには、私はjavascriptを使用しています。私は21:48-now()を実行します。しかし、彼はいつも2時間早く通常よりも終了します。なぜなら、GTM + 00のMYSQLの保存日(21:48)はJavascript now()ですからです。デフォルトのブラウザ時間GTM + 2を取得しています。
JavascriptをサーバーTimezone GTM + 00と連携させる方法はありますか?どうすれば問題を解決できますか?カウントダウンのためにすべての私のコードがあります:
<script>
var t = document.getElementById('myInputTimer').value;
var countDownDate = new Date(t).getTime();
// Update the count down every 1 second
var x = setInterval(function() {
// Get todays date and time
var now = new Date().getTime();
// Find the distance between now an the count down date
var distance = countDownDate - now;
// Time calculations for days, hours, minutes and seconds
var hours = Math.floor((distance % (1000 * 60 * 60 * 24))/(1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60))/(1000 * 60));
var seconds = Math.floor((distance % (1000 * 60))/1000);
// Display the result in the element with id="demo"
document.getElementById("demo").innerHTML = hours + "h "
+ minutes + "m " + seconds + "s ";
// If the count down is finished, write some text
if (distance < 0) {
clearInterval(x);
document.getElementById("demo").innerHTML = "EXPIRED";
}
}, 1000);
</script>
**私はちょうど今あなたにキスしたい!**ありがとうございました。あなたはそのアンサーと過ごす時間のために本当にありがとう。彼は100%働いた –