0

だから私はJavascriptを学んでいて、時間を差し引くことができる計算機を作成しようとしています。私は他の部分を機能させています(コードが大幅に改善されると確信しているので、コードに関するフィードバックが欲しいのですが)、時間を正しく差し引く必要があります。私は簡単な計算をしているので、2:00から1:30(時間と分は別々の値です)を引くと、00:30ではなく1:30になります。

もう1つの問題は、[結果を取得]ボタンを2回押さないと、1時間あたりの金が計算されないことです。

これは私が今までに書いた最初のスクリプトなので、私が何をすべきかを教えてください。これを可能な限り最善かつ最も簡単な方法で実行したいと思います。

電卓とスクリプトはこちらです:

http://www.coolestwebsiteintheuniverse.com/gold-calculator/

http://www.coolestwebsiteintheuniverse.com/gold-calculator/calc.js

また、10行に拡張してすべてを平均化する機能も必要ですが、この部分がわかれば、自分で理解できると思います。

ありがとう

4

2 に答える 2

0

日付関数を使用して減算してみましたか??

var T1=new Date("September 5, 2012 8:10:00");
var T2=new Date("September 5, 2012 13:35:00");
var diff=new Date();
diff.setTime(T2-T1);
alert(diff.getHours()+":"+diff.getMinutes())
于 2012-07-13T11:09:36.837 に答える
0

問題は、時間を計算する際に分とは別に時間を扱っていることです。それらを次のようなものと組み合わせる必要があります(テストされていません):

var starthh = // ...
var startmm = // ...
var endhh = // ...
var endmm = // ...

var elapsedMinutes = (60 * endhh + endmm) - (60 * starthh + startmm)

var displayTime = Math.floor(elapsedMinutes / 60) + ":" 
                + ("00" + (elapsedMinutes % 60)).slice(-2)

その最後のビットは、("00" + (elapsedMinutes % 60)).slice(-2)60 を法とする分を取り、それを文字列「00」に追加してから、最後の 2 文字を取り、1 桁の数字をゼロで埋める簡単な方法として使用します。

于 2012-07-13T11:56:56.373 に答える