А занятие createTimeSpan()
и dateDiff()
выполнит эту работу.
Input здесь идет в переменные minutes
и seconds
:
<cfset cmpBase = createTimeSpan(0, 0, 0, 0)>
<cfset cmpValue = createTimeSpan(0, 0, minutes, seconds)>
<cfset diffInSeconds = dateDiff("s", cmpBase, cmpValue)>
<cfset diffInMilliseconds = (diffInSeconds * 1000)>
Если предположить, что исходное значение хранится в виде строки, как mm:ss
, это было бы:
<cfset minutes = getToken(bignews.Control_CountdownDuration, 1, ":")>
<cfset seconds = getToken(bignews.Control_CountdownDuration, 2, ":")>
<cfset cmpValue = createTimeSpan(0, 0, minutes, seconds)>
<cfset cmpBase = createTimeSpan(0, 0, 0, 0)>
<cfset diffInSeconds = dateDiff("s", cmpBase, cmpValue)>
<cfset diffInMilliseconds = (diffInSeconds * 1000)>
<div class="slideBox" data-duration="#diffInMilliseconds#">
(Validation опущены для удобства чтения.)
На боковой ноте: вы, вероятно, должны работать с общим количеством секунд (см. Переменную diffInSeconds
), так как в любом случае вы не получаете миллисекундной точности.
Спасибо Alex ... Проблема решена. Отличный результат. –
Выглядит намного сложнее, чем необходимо. Для меня проблема такая же простая, как разбиение строки на минуты и секунды, умножение минут на 60, добавление секунд и muliplying на 1000. –
Я использовал вторую часть кода своего ответа для решения проблемы. –