###前提・実現したいこと
秒数(単位はms)データを使用し、基準として用意した時間に足したり引いたりしたい。
秒数データは、マイナス(-)の値も含まれている。
###発生している問題・エラーメッセージ
①時間の繰り上げが行われていない(具体的に、分、秒が60秒に到達しても繰り上げが行われない)
②秒数データがマイナスの時に正しく動作しない。
③補足的に・・・最終的に時分秒すべてを二桁で格納したい(例.5分⇒05分としたい)
###宣言
JavaScript
1var maindata = [3509080 , 8590 , -34458 , 4545853]; //秒数のみで表した元データ [単位は ミリ秒(ms)] 2var databox = new Array(); //maindataの数値を分解 3var h, m, s, x; //時,分,秒,テンポラリ変数
###時間計算
JavaScript
1for(var i=0 ; i<maindata.length ; i++){ 2 //時間の初期値(これに加算していく) 3 var hh = [13]; //時 4 var mm = [47]; //分 5 var ss = [00]; //秒 6 7 x = maindata[i] / 1000; 8 s = Math.round(x % 60); //秒 (小数点以下は四捨五入) 9 10 x /= 60; 11 m = Math.floor(x % 60); //分 12 13 x /= 60; 14 h = Math.floor(x % 24); //時 15 16 //加算後の時分秒 (配列の数値に足し算) 17 hh[0] += h; 18 mm[0] += m; 19 ss[0] += s; 20 21 //値を配列に入れる 22 databox.push({h : hh[0] , m : mm[0] , s : ss[0]}); 23}
###出力
JavaScript
1//値を出力する 2for(var j=0 ; j<databox.length ; j++){ 3 console.log(databox[j]); 4}
###試したこと
問題①、②に関しては原因が分からず手が付けられませんでした。
問題③では、配列に格納する時点、
JavaScript
1databox.push({h : ('00'+hh[0]).slice(-2) , m : ('00'+mm[0]).slice(-2) , s : ('00'+ ss[0]).slice(-2)});
を実行してみたのですが、計算で取得できている値が正しくないため合っているのか"???"となってしまいました。
###補足情報(言語/FW/ツール等のバージョンなど)
言語:JavaScritpのみ
ブラウザ:Google Chrome
OS : Windows7
必要情報等ありましたら補足させていただきますので、よろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。