2016-02-12 2 views
0

У меня есть две даты, которые уже конвертированы в секунды, используемые в обратном отсчете. Разница между ними - это расстояние var. Как я мог получить разницу в процентах.процент между датой и датой окончания

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

оба используются в обратном отсчете. все, что я хотел, это правильная формула для получения процента var distance, поэтому я могу добавить его в индикатор выполнения.

+0

вас может быть, может начаться, говоря нам, что это за язык? –

+0

Извините просто javascript –

+1

Ему нужна дополнительная информация и форматирование. хороший вопрос кстати. Переменные, которые вам нужны, это 'nowTime', который будет увеличиваться,' endTime', который будет постоянным, 'startTime', который будет началом или начальной точкой. – instinct

ответ

0

так, как вы можете смотреть на это startDistance * x, где x процент в десятичной форме, равно currentDistance

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

Итак, вы могли бы сделать:

(currentDistance/startDistance) * 100 
+0

Это самый простой и лучший ответ для меня, который подходит только в моем обратном отсчете, работал просто отлично. Спасибо Adjit –

+0

@HMDadou рад, что это сработало. Если вы можете щелкнуть галочкой рядом с ответом, это будет оценено :) – Adjit

0

Ниже процентной разницы по времени запуска в соответствии с UTC меткой времени (1 января 1970):

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); 

Но обратите внимание, в случае, если у вас есть другое время базы ваши now и end значения должны быть обновлены в соответствии с этим временем , поэтому перед применением формулы в фрагменте кода выше, вы должны обновить now и end значения:

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)' divider –

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