3

JavaScript を使用して、今日に基づいてこの 2 日間の完了率を生成したいと思います。この割合を jQuery UI プログレス バーで使用して、完了または残りの時間を示します。

この式を試してみましたが、常に 100 になります。

2 つの日付があるとします。

start = new Date(2012,6,2); // Jul 02 2012
end = new Date(2012,6,8); // Jul 08 2012
today = new Date();

alert( Math.round(100-((end - start) * 100 ) / today) + '%' );

どうすればこれを正しく達成できますか?

4

3 に答える 3

3

サーバーからUNIXタイムスタンプを取得するので、これを行うだけです

var start = 1341201600 * 1000,
    end = 1341720000 * 1000,
    now = +new Date;

Math.round(( ( now - start ) / ( end - start ) ) * 100) + "%" //73%
于 2012-07-06T13:46:25.810 に答える
1

あなたの式は

alert( Math.round(100 - (end - today) / (end - start) * 100 ) + '%' );
于 2012-07-06T13:45:15.890 に答える
1

私はコメントを調整する自由を取りました。

var start = new Date(2012,6,2); // Jul 02 2012
var end = new Date(2012,8,2); // Sep 02 2012
var today = new Date();

var total = end - start;
var progress = today - start;

console.log( Math.round(progress/ total * 100 ) + "%" );

利回り 8% [7 月 6 日]

于 2012-07-06T13:55:08.253 に答える