我有表格,用户可以选择开始/结束日期和时间,提交后我想创建createDateTime并使用传递的参数。所以我尝试了这种方式,但只有日期存储在我的数据库中。这里是我的代码:如何从传入的参数日期和时间创建日期时间?
<cfargument name="DateFrom" type="date" required="yes">
<cfargument name="DateTo" type="date" required="yes">
<cfargument name="TimeFrom" type="string" required="yes">
<cfargument name="TimeTo" type="string" required="yes">
<cfset StartDateTime = createDateTime(year(arguments.DateFrom), month(arguments.DateFrom), day(arguments.DateFrom), hour(arguments.TimeFrom), minute(arguments.TimeFrom), 0)>
<cfset EndDateTime = createDateTime(year(arguments.DateTo), month(arguments.DateTo), day(arguments.DateTo), hour(arguments.TimeTo), minute(arguments.TimeTo), 0)>
<cfquery name="addReservation" datasource="test">
Insert Into tableReserv(PickDateTime,DropDateTime)
Select <cfqueryparam cfsqltype="cf_sql_date" maxlength="12" value="#StartDateTime#">,
<cfqueryparam cfsqltype="cf_sql_date" maxlength="12" value="#EndDateTime#">
Where Not Exists(Select UserID
From aviRequests
Where PickDateTime < <cfqueryparam cfsqltype="cf_sql_timestamp" value="#StartDateTime#">
And DropDateTime > <cfqueryparam cfsqltype="cf_sql_timestamp" value="#EndDateTime#">
)
Select SCOPE_IDENTITY() As RecID;
</cfquery>
出于某种原因,我的startDateTime和EndDateTime不创建日期及时间在一起。这里是我的价值看起来如何存储在数据库中: 开始:2016-01-20 00:00:00.000
结束:2016-01-21 00:00:00.000
我的createDateTime格式正确或在我的代码中有其他错误吗?
TimeFrom/To和DateFrom/To的格式是什么?他们看起来怎么样? –
DateFrom 01/14/2016,DateTo 01/15/2016,TimeFrom \t 7:00 AM,TimeTo \t 12:00 PM –
cf_sql_date会将该值转换为日期,尝试将cfsqltype更改为cf_sql_timestamp –