Coldfusion 如何将DateTime从查询转换为字符串,以便在Google可视化图表中使用?

Coldfusion 如何将DateTime从查询转换为字符串,以便在Google可视化图表中使用?,coldfusion,google-visualization,Coldfusion,Google Visualization,我在查询中以这种格式获取日期数据2018-04-01 00:00:00.0,并使用以下代码将其作为字符串添加到列中: var data = new google.visualization.DataTable(); data.addColumn('string', 'StartDate'); data.addColumn('number', 'Deficiency'); data.addColumn('number', 'Withdraw');

我在查询中以这种格式获取日期数据
2018-04-01 00:00:00.0
,并使用以下代码将其作为字符串添加到列中:

var data = new google.visualization.DataTable();
        data.addColumn('string', 'StartDate');
        data.addColumn('number', 'Deficiency');
        data.addColumn('number', 'Withdraw');
        data.addColumn('number', 'Rain');
        data.addRows([
        <cfoutput query="display_data">
            [
            #dateTimeFormat(STARTPERIOD, "yyyy/dd/mm")#,
            #NumberFormat(DEF, '.9')#,                          
            #NumberFormat(WD,'.9')#,
            #NumberFormat(RAIN,'.9')#,
            ],
         </cfoutput>
            ]); 
var data=new google.visualization.DataTable();
data.addColumn('string','StartDate');
data.addColumn('数字','缺陷');
data.addColumn('number','draw');
data.addColumn('number','Rain');
data.addRows([
[
#日期时间格式(起始时间,yyyy/dd/mm),
#数字格式(定义,'.9')#,
#数字格式(WD,.9')#,
#数字格式(雨,'.9')#,
],
]); 
但我在控制台中得到一个错误:

未捕获(承诺中)错误:类型不匹配。值504.5不匹配 在列索引0中键入字符串

尝试将
#dateTimeFormat(STARTPERIOD,“yyyy/dd/mm”)#
放在引号中。类似于
“#日期时间格式(起始周期,yyyy/dd/mm”)#”

var data=new google.visualization.DataTable();
data.addColumn('string','StartDate');
data.addColumn('数字','缺陷');
data.addColumn('number','draw');
data.addColumn('number','Rain');
data.addRows([
[
“#日期时间格式(起始时间,yyyy/dd/mm”)#”,
#数字格式(定义,'.9')#,
#数字格式(WD,.9')#,
#数字格式(雨,'.9')#,
],
]); 
我会这样做的方式如下

<cfset dataArray = []>
<cfloop query="display_data">
  <cfset ArrayAppend(dataArray, [dateTimeFormat(display_data.STARTPERIOD, "yyyy/dd/mm"), NumberFormat(display_data.DEF, '.9'), NumberFormat(display_data.WD,'.9'), NumberFormat(display_data.RAIN,'.9')])>
</cfloop>
<script>
  var data = new google.visualization.DataTable();
    data.addColumn('string', 'StartDate');
    data.addColumn('number', 'Deficiency');
    data.addColumn('number', 'Withdraw');
    data.addColumn('number', 'Rain');
    data.addRows(<cfoutput>#serializeJSON(dataArray)#</cfoutput>);
</script>

var data=new google.visualization.DataTable();
data.addColumn('string','StartDate');
data.addColumn('数字','缺陷');
data.addColumn('number','draw');
data.addColumn('number','Rain');
addRows(#序列化JSON(dataArray)#);
对于ColdFusion 2016及更高版本,您可以使用以下命令

<cfscript>
  dataArray = [];
  display_data.each(function(value, index){
    dataArray.append([dateTimeFormat(value.STARTPERIOD, "yyyy/dd/mm"), NumberFormat(value.DEF, '.9'), NumberFormat(value.WD,'.9'), NumberFormat(value.RAIN,'.9')]);
  });
</cfscript>

dataArray=[];
显示每个函数的数据(值、索引){
追加([dateTimeFormat(value.STARTPERIOD,“yyyy/dd/mm”)、NumberFormat(value.DEF,.9')、NumberFormat(value.WD,.9')、NumberFormat(value.RAIN,.9'));
});

尝试将
#dateTimeFormat(STARTPERIOD,“yyyy/dd/mm”)#
放在引号中。就像前面所说的那样,我宁愿创建一个数组的ColdFusion数组,然后在JS代码中序列化。
<cfscript>
  dataArray = [];
  display_data.each(function(value, index){
    dataArray.append([dateTimeFormat(value.STARTPERIOD, "yyyy/dd/mm"), NumberFormat(value.DEF, '.9'), NumberFormat(value.WD,'.9'), NumberFormat(value.RAIN,'.9')]);
  });
</cfscript>