我在标签格式中运行良好,但我正在尝试将所有内容迁移到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>
这是如何指定让我的步骤位..
答案 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()
循环,如果您的条件不是基于索引值,请使用do
或while
循环。
正如我在上面的评论中提到的,如果你不熟悉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>