Coldfusion 在时间戳字段中插入日期时间变量

Coldfusion 在时间戳字段中插入日期时间变量,coldfusion,google-bigquery,Coldfusion,Google Bigquery,当我试图在时间戳声明的BigQuery表字段中插入日期(Now())时,出现了一个问题。 我用ColdFusion语言编写代码。在这种语言中,函数Now()返回此格式的日期时间:{ts'2014-05-05 15:32:06'} 这是我的BigQuery表模式:Name:string,Date:Timestamp 这是我尝试插入行的代码: <cfset row.set("Name","Alex")> <cfset row.set("Date", now())> 由于

当我试图在时间戳声明的BigQuery表字段中插入日期(Now())时,出现了一个问题。 我用ColdFusion语言编写代码。在这种语言中,函数Now()返回此格式的日期时间:
{ts'2014-05-05 15:32:06'}

这是我的BigQuery表模式:
Name:string,Date:Timestamp

这是我尝试插入行的代码:

<cfset row.set("Name","Alex")>
<cfset row.set("Date", now())>

由于Google BigQuery API中的模式不支持时间戳以外的日期类型,我应该如何转换函数now()给出的日期(在ColdFusion中)以插入我的行

谢谢大家的回答, 如果必须传递字符串变量作为方法集的第二个参数,我们还可以编写:

    <cfset row.set('Date',mid("#now()#",6,19))> 


要检索字符串(yyyy-mm-dd HH:mm:SS)

您需要在now()上使用DateFormat函数使其工作。根据bigquery文档,格式必须为YYYY-MM-DD HH:MM:SS 因此,您可以执行类似于

编辑


同样,正如我在评论中所说的,您需要以适当的方式设置日期/时间


感谢Leigh指出dateformat没有在单个掩码中显示日期和时间

难道您不能将now()作为查询参数发送吗?我们还可以编写该方法有点脆弱。将日期对象转换为字符串的正确方法是使用
date/timeFormat()
,如下所示。另外,与您的问题无关,但不需要在
now()
周围添加引号和
#
符号。这可能不会导致错误,但
DateFormat
不支持时间掩码。我没有看过API,但是如果您真的必须使用字符串,那么请查看CF9或CF10.Leigh的
DateFormat/TimeFormat
,即使我这么认为。但我在CF9中运行了它,它运行正常(支持时间掩码)。想法是OP需要使用一个合适的屏蔽,使日期与BigQuery兼容。不,它似乎只起作用。更仔细地查看返回的时间字符串。时间值错误“hh:mm:ss”中的“mm”值实际上是一个月数,而不是分钟数。请尝试使用mm代替mm。@N.N.-如果您不熟悉,CF的
DateFormat
掩码不区分大小写。所以
mm
mm
是等价的。CF 9和更早版本提供了一个单独的时间格式化功能,即
TimeFormat
。对于CF10+,您可以使用
nn
DateTimeFormat
一起使用分钟。
<cfset row.set("Date", DateFormat(now(),"YYYY-MM-DD")&' ' & TimeFormat(now(),"HH:MM:SS"))>