Arrays Coldfusion在数组中查找日期

Arrays Coldfusion在数组中查找日期,arrays,coldfusion,coldfusion-9,Arrays,Coldfusion,Coldfusion 9,需要在数组中查找特定日期的帮助 我有一个从JSON文件填充的数组。希望表单输入日期,然后返回数组中的数据 这就是我到目前为止所尝试的 <!---Form and submit button to enter date---> <p> <cfform name="pickdate" id="pickdate" > <cfinput required="yes" name="datepicker" type="datefield" i

需要在数组中查找特定日期的帮助

我有一个从JSON文件填充的数组。希望表单输入日期,然后返回数组中的数据

这就是我到目前为止所尝试的

<!---Form and submit button to enter date--->
<p>
    <cfform name="pickdate" id="pickdate" >
        <cfinput required="yes" name="datepicker" type="datefield" id="datepicker" validate="USDATE">
        <cfinput type="submit" name="insertpbnum" value="Enter" id="submit">
    </cfform>
</p>

<br>
<br>
<!---Get lotto numbers from JSON file--->
<cfhttp url="https://data.ny.gov/api/views/d6yy-54nr/rows.json?accessType=DOWNLOAD" method="get" result="httpResp" timeout="120">
    <cfhttpparam type="header" name="Content-Type" value="application/json" />
</cfhttp>
<cfset pbdata=deserializeJSON(httpResp.filecontent)>
<cfoutput>
    <!---loop thru JSON file to grab lotto numbers and dates--->
    <cfloop from="1" to="#arrayLen(pbdata.data)#" index="i">
        <!---change xml date-time format to Coldfusion formate--->
        #arrayFind(datetimeformat(Parsedatetime(pbdata.data[i][9]),"MM-DD-YYYY","datepicker"))#
        <!---#i#: #Parsedatetime(pbdata.data[i][9])#  : #pbdata.data[i][10]#---><br />
    </cfloop>

</cfoutput>
我要用正确的方法来做这件事。还是将数组放入数据库更好


谢谢,这是一种不同的方法,但有望实现您的目标。此解决方案将数据放入查询中,然后执行查询QOQ以检查日期

<cfhttp url="https://data.ny.gov/api/views/d6yy-54nr/rows.json?accessType=DOWNLOAD" method="get" result="httpResp" timeout="120">
    <cfhttpparam type="header" name="Content-Type" value="application/json" />
</cfhttp>
<cfset pbdata=deserializeJSON(httpResp.filecontent)>

<!--- Get list of column names --->
<cfset columnList = "" />
<cfloop from="1" to="11" index="i">
    <cfset columnList = listAppend(columnList, replace(pbdata.meta.view.columns[i].name, " ", "", "All")) />
</cfloop>

<!--- Populate data into query --->
<cfset qryData = queryNew(columnList) />
<cfset dataRowCount = arrayLen(pbdata.data) />
<cfset queryAddRow(qryData, dataRowCount) />
<cfloop from="1" to="#dataRowCount#" index="i">
    <cfloop from="1" to="#arrayLen(pbdata.data[i])#" index="j">
        <cfif j EQ 11 AND pbdata.data[i][j] EQ "null">
            <!--- default multiplier field to 0 if null --->
            <cfset querySetCell(qryData, listGetAt(columnList, j), 0, i) />
        <cfelse>
            <cfset querySetCell(qryData, listGetAt(columnList, j), pbdata.data[i][j], i) />
        </cfif>
    </cfloop>
</cfloop>

<!--- Query the recordset --->
<cfquery name="rs" dbtype="query">
    SELECT  *
    FROM    qryData
    WHERE   DrawDate = '#dateFormat("5/26/2010", "YYYY-MM-DD")#T00:00:00'
</cfquery>

<cfdump var="#rs#" />

当您执行发布的代码时,现在会发生什么?您在xml中获得的字符串不能按原样转换为日期。您可能想自己解析它。我相信你的问题在这里得到了解决。暂时忽略这个问题,根据你其他一些问题的演变,你可能想后退一步。首先确定你的应用程序将使用日期、修饰符、数字等字段。。。b如何访问这些字段。例如,应用程序搜索结果是否仅按日期、数字等进行。。这些答案将有助于确定如何最好地存储/缓存和解析结果。没有解释的否决票是无益的、不礼貌的和怯懦的。