1

ある種のタイマーを作成しようとしています。そのため、終了時刻をマークするタイムスタンプがあり、スクリプトの開始時に現在のタイムスタンプを取得し、それを毎秒 1 ずつ増やします。これら2つの差を毎秒何らかの方法で計算し、の形式で表示する必要がありますHours : Minutes : Seconds

これが私の現在の解決策ですが、明らかに機能していません。end_timecur_timeはタイムスタンプです:

diff = end_time - cur_time;
hours_diff = Math.ceil(diff/3600)
mins_diff = Math.ceil((diff-hours_diff)/60)
secs_diff = diff - hours_diff*3600 - mins_diff*60;
4

4 に答える 4

3

match.ceil の代わりに math.floor が必要だと思います。3600 秒未満は、まだ 1 時間ではありません。

modulo( %) を使用して、残りの分から時間を除外できます(秒についても同様です)。

hours_diff = Math.floor(diff/3600);
mins_diff = Math.floor((diff % 3600)/60)
secs_diff = diff%60;
于 2013-08-14T19:44:44.523 に答える