質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

1回答

1046閲覧

PHPとJSで時間計測とカウントダウン

momiji0210

総合スコア60

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2021/07/08 03:03

MySQLに保存してあるタイムスタンプから、何秒経過しているのか表示するようなサンプルを作っております。
その経過秒数に応じて、制限時間を表示するようなものを作りたいです。

タイムスタンプは日本時刻で保存してあり、JSで現在時刻を取得するとUTCの基準時になるため変換する必要がありそうです。
こういった場合、どのように変換して値を渡せば良さそうでしょうか。

JSだけでのカウントダウンプログラムはできたのですが、DBを使っている都合上でどうしてもPHPとJSの連携をしたいです。

<script> var count = 25*60; //カウントダウンの数字を格納する変数 var min = 0; //残り時間「分」を格納する変数 var stp = null; //setInerval・clearInervalを制御する変数 var display; var dateStart; function count_start(start){ display = document.getElementById("default"); //dateStart = start; //dateStart = new Date().toLocaleString({ timeZone: 'Asia/Tokyo' }) min = parseInt(count / 60); sec = count % 60; display.innerHTML = ("00"+parseInt(min)).slice(-2) +":" + ("00"+parseInt(sec)).slice(-2); if(stp == null) { stp = setInterval(count_down,1000); } } //カウンドダウン表示 function count_down(){ var dateNow = new Date(); //var dateNow = new Date().toLocaleString({ timeZone: 'Asia/Tokyo' }); //var diff = dateNow.getTime() - dateStart.getTime(); //var diff = dateNow.getTime() - dateStart; var diff = 100; //console.log(dateNow.getTime()); //console.log(dateStart); var test = count - (diff/ 1000); if(test < 0){ test = 0; display.innerHTML = "TIME UP!"; clearInterval(stp); } else { min = parseInt(test / 60); sec = test % 60; display.innerHTML = ("00"+parseInt(min)).slice(-2) +":" + ("00"+parseInt(sec)).slice(-2); } </script> <?php // エラーが発生していなければ $startTime = '2021-07-08 10:58:13'; if($startTime != null) { // 渡す値が違う echo '<script type="text/javascript"> count_start('.strtotime($startTime).'); </script>'; } ?>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/07/08 03:55

コードはマークダウンのcode機能にてご提示ください
guest

回答1

0

何秒経過ってだけなら、UTC変換は必要ないでしょ。
ある時点の現在時をとっておいて現在時の差分をとればいいだけです

投稿2021/07/08 03:08

y_waiwai

総合スコア87800

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

momiji0210

2021/07/08 03:26

ご回答ありがとうございます。 $startTime = '2021-07-08 10:58:13'; // PHP 日本時間 var dateNow = new Date(); // JS 世界基準時間 みたいな感じなのですが、この秒数の差分ってどのように取得すればよいのでしょうか。 値を渡したりはできるようになったのですが、基準時間も違うため変換しないと無理そうな気がしております。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問