0

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

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

4

2 回答 2

6

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

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

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

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

于 2014-11-22T17:25:09.257 回答
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>
于 2014-11-22T13:35:15.237 回答