createTimeSpan()
和dateDiff()
的组合将完成这项工作。这里
输入进入变量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#">
(验证冷落了可读性。)
附注:您应该使用总秒数(请参阅变量diffInSeconds
),因为无论如何你都没有精确的毫秒数。
谢谢亚历克斯...问题解决了。完美的结果。 –
看起来比必要更复杂。对我来说,问题就像将字符串分成几分钟和几秒一样简单,将分钟乘以60,增加秒数,再乘以1000. –
我已经使用了他的答案的第二部分代码来解决问题。 –