如何在cfscript中复制此循环(用于cf10 / railo)

时间:2014-11-22 13:19:59

标签: coldfusion cfml cfloop

我在标签格式中运行良好,但我正在尝试将所有内容迁移到cfscript中。我怎么能这样做? (基本上,它从date1到date2循环,需要间隔15分钟。

<cfset from=now()>
<cfset to=dateadd("d", 1, from)>
<cfloop from="#from#" to="#to#" index="i" step="#CreateTimeSpan(0,0,15,0)#">
 ...stuff...
<cfloop>

这是如何指定让我的步骤位..

2 个答案:

答案 0 :(得分:6)

@Jarede的回答肯定会给你一个循环,它使用与你的需求相同的值执行相同的迭代,但它并不真正等同于标签版本。这是最接近你的例子:

from    = now();
to        = dateadd("d", 1, from);
step    = CreateTimeSpan(0,0,15,0);
for (i=from; i <= to; i+=step){
    // ... stuff ...
}

如果您正在递增(或递减)和索引值,请使用for()循环,如果您的条件不是基于索引值,请使用dowhile循环。

正如我在上面的评论中提到的,如果你不熟悉CFScript,你需要做到。我建议彻底阅读本文:CFScript。这是我所知道的CFScript的唯一完整的文档。如果您发现任何遗漏......请给我一个拉取请求。

答案 1 :(得分:2)

<cfscript>
  variables.dtNow = now();
  variables.dtTmrw = dateAdd('d',1,variables.dtNow);

  do {
    variables.dtNow = dateAdd('n',15,variables.dtNow);
    writeOutput(variables.dtNow);
  } while(variables.dtNow neq variables.dtTmrw);
</cfscript>