Coldfusion 获取错误“;未定义的值不能转换为数字";创建CF日期时

Coldfusion 获取错误“;未定义的值不能转换为数字";创建CF日期时,coldfusion,Coldfusion,我有一个名为begin_date的字符串,其中包含格式为dd.mm.yyyy的日期,例如 2012年4月11日 从这一点出发,我试图创造一个像 <input type="hidden" name="begin_date" value="#CreateDate(ListLast(begin_date,'.'),ListGetAt(begin_date,2,'.'),ListFirst(begin_date,'.'))#" /> 但我收到了以下错误消息 无法将未定义的值转换为数字

我有一个名为begin_date的字符串,其中包含格式为dd.mm.yyyy的日期,例如

2012年4月11日

从这一点出发,我试图创造一个像

<input type="hidden" name="begin_date" value="#CreateDate(ListLast(begin_date,'.'),ListGetAt(begin_date,2,'.'),ListFirst(begin_date,'.'))#" />

但我收到了以下错误消息

无法将未定义的值转换为数字


CreateDate
函数需要3个参数,如下所示:

CreateDate( year, month, day )
请尝试以下操作:

CreateDate( 
  ListGetAt( begin_date, 3, "." ), 
  ListGetAt( begin_date, 2, "." ), 
  ListGetAt( begin_date, 1, "." )
)

有关
CreateDate
函数的更多信息,请访问。

Odd,适用于我。它在哪个版本的ColdFusion上执行?事实上,如果不将“begin_date”设置为字符串“undefined”,我似乎无法复制该错误。您确定开始日期的值吗?尝试在要检查的输入标记之前执行一个#开始日期#。开始日期不能具有您认为的值,因为它可以正常工作。你能把begin_date倒出来,看看“确切”值是多少吗?我在ACF 9.0.1和Railo 3.3.something上都能看到。我还能够在混合中添加以下两个日期函数,它们工作得很好:dateFormat(begin_date,“mm/dd/yyyy”)和createODBCDate(begin_date)(其中begin_date=“11.04.2012”)也适用于Coldfusion 10:)在我看来,您的示例稍微直观一些。但结果应该与其当前代码相同。我怀疑baynezy提出的价值不是他们认为的那样是正确的。