1

我们正在处理保存在数据库中的持续时间的毫秒转换(格式:mm:ss)。我们可以通过命令#bignews.Control_CountdownDuration# 访问持续时间值。

  <div class="slideBox" data-duration="#bignews.Control_CountdownDuration#">

当前值(mm:ss)不足以正常工作数据持续时间。谁能指导我完成任务?

4

1 回答 1

2

的结合createTimeSpan()dateDiff()完成这项工作。
这里的输入进入变量minutesseconds

<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),因为无论如何您都没有毫秒精度。

于 2015-12-24T10:25:13.233 回答