У меня есть форма, где пользователь может выбрать дату и время начала и окончания, после того, как из представлен я хочу создать createDateTime и использовать переданные аргументы. Поэтому я пробовал этот путь, но у меня есть только дата, хранящаяся в моей БД. Вот мой код:Как создать DateTime из прошедших аргументов даты и времени?
<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 in? На что они похожи? –
DateFrom 14.01.2012, DateTo 01/15/2016, TimeFrom \t 7:00 AM, TimeTo \t 12:00 PM –
cf_sql_date преобразует значение в дату, попробуйте изменить cfsqltype на cf_sql_timestamp –