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

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

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

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

2回答

2884閲覧

00分00秒を表示したい

aizawal-hiroki

総合スコア56

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2017/06/23 01:36

開始する時間(変数:start_time)とプレイ中の時間(変数:play_time)をサーバーからミリ秒で取得し何時から何時までプレイしていたかを計算し、それをHMSに変換したのですが00分00秒が表示されません。どうすればよろしいでしょうか

javascript

1$("item",$(pattern_programs)).each(function(){ 2 //呼び出し 3 var start_time = Number($("start_time",this).text()); 4 var play_time = Number($("play_time",this).text()); 5 //終了時間計算 6 var end_time = start_time + play_time; 7 //HMSに変換 8 var start_time_str = formatHMS(start_time); 9 var end_time_str = formatHMS(end_time); 10 //表示 11 spanPeriod.text("" + start_time_str + "~" + end_time_str + ""); 12}

javascript

1function formatHMS(date) 2{ 3 var hms = ""; 4 var hour = Math.floor((date / 60) / 60); 5 var min = Math.floor((date / 60) % 60); 6 var sec = Math.floor(date % 60); 7 8 if(hour > 0){ 9 hms += hour + "時"; 10 } 11 if(min > 0){ 12 hms += min + "分"; 13 } 14 if(sec > 0){ 15 hms += sec + "秒"; 16 } 17 return hms; 18}

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

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

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

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

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

elz4m

2017/06/23 01:43

00分00秒が期待されるのはどのような場合ですか?初期状態?表示されない場合どのような表示がされるのか教えてください。よろしくお願いします。
aizawal-hiroki

2017/06/23 01:55

13時10分~14時10分 15時50分~16時50分 「17時~18時」 14時30分~15時30分 11時50分~12時50分 「」の中のように00分が表示されない感じです
guest

回答2

0

ベストアンサー

JavaScript

1 if(hour > 0){ 2 hms += hour + "時"; 3 } 4 if(min > 0){ 5 hms += min + "分"; 6 } 7 if(sec > 0){ 8 hms += sec + "秒"; 9 }

他の方もおっしゃっていますが、このif内で0を許容していないからではないでしょうか。

投稿2017/06/23 01:58

elz4m

総合スコア69

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

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

aizawal-hiroki

2017/06/23 02:00

if(hour > 0){ hms += hour + "時"; } if(min > -1){ hms += min + "分"; } if(sec > -1){ hms += sec + "秒"; } return hms; } こうしたらできましたありがとうございます
elz4m

2017/06/23 02:04

時間の条件に負の値を利用するのはどうかと思います、min>=0などで期待の結果が得られるのではないでしょうか?
guest

0

「formatHMS」の中で、

javascript

1if(min > 0){ 2 hms += min + "分"; 3} 4if(sec > 0){ 5 hms += sec + "秒"; 6}

こういう風にしているからでは?

投稿2017/06/23 01:43

tkturbo

総合スコア5572

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問