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

Neo*_*nig 0 coldfusion cfloop cfml

我在标签格式中很好地工作,但我正在尝试将所有内容迁移到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>
Run Code Online (Sandbox Code Playgroud)

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

Ada*_*ron 6

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

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

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

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

  • 它*是一个数字;-)所有三个变量,即`from/to/step`都是数字.它们是日期/时间对象,由内部数字表示.这就是为什么你可以在数字from/to循环中使用它们. (5认同)