2016-02-12 81 views
0

我有两个日期都已经转换成秒数倒数使用。 它们之间的差异是var距离。 我怎样才能获得百分比的差异。现在的日期和结束日期之间的百分比

var now = new Date(); 
var distance = end - now; 

两者都用于倒计时。 所有我想要的是获得var distance的百分比的正确公式,所以我可以将其添加到进度条。

+0

你也许可以先告诉我们这是什么语言? –

+0

对不起只是javascript –

+1

它需要一些更多的信息和格式。很好的问题btw。你需要的变量是'nowTime',它会增加,'endTime'将会是常量,'startTime'将会是或者初始点的开始。 – instinct

回答

0

,你可以看看它是startDistance * x,其中01路是十进制形式的比例,等于currentDistance

startDist * x = currentDist 
-> x = currentDist/startDist 

所以,你可以这样做:

(currentDistance/startDistance) * 100 
+0

这是最简单和最好的答案适合我恰好在我的倒计时工作就好了。谢谢Adjit –

+0

@HMDadou很高兴它解决了。如果你可以点击答案旁边的复选标记,将不胜感激:) – Adjit

0

下面是开始时间百分比差异根据UTC时间戳(1970年1月1日):

var now = new Date(); 
var end = new Date(new Date - 100000000); // or new Date(new Date + 100000000); 
var difference = Math.abs(now - end)/(Math.max(now, end)/100); 

但需要注意的情况下,如果你有其他的基本时间你nowend值应按照该时间进行更新,所以在代码片段应用公式之前,你要不断更新nowend值:

now = Math.abs(now - timeSinceYouCalculatingDiff); 
end = Math.abs(end - timeSinceYouCalculatingDiff); 
// Note timeSinceYouCalculatingDiff should be less than now and end dates 
+0

你打算用100乘以吗? – instinct

+0

@instinct是的,你可以看到'(Math.max(now,end)/ 100)包含的乘法 –

0

需要3个变量start, now, end

var totaldays = end - now; 
var runningDays = now - start; 
var percentage = parseInt((runningDays/todalDays)*100); 

演示https://jsfiddle.net/vebhq76a/

+0

小提琴不起作用。如果我从200开始,nowTime是300,400是我的结束时间? – instinct

+0

如果您想使用该值,请使用“millisecondsPerDay = 1;” – uingtea

相关问题