2014-06-17 4 views
0

양식을 사용하여 시간과 날짜를 표에 삽입하려고합니다. 나는 테이블에 삽입 할 때테이블에 시간과 날짜를 올바르게 삽입하는 방법은 무엇입니까?

<tr> 
    <td> Date (Please enter date format mm/dd/yyyy.):</td> 
     <td><INPUT TYPE="text" NAME="date_used" SIZE="10" VALIDATE="date"></td> 
       </tr> 
       <tr> 
      <td> Time (Please enter time format hh:mm tt):</td> 
      <td><INPUT TYPE="text" NAME="time_used" SIZE="10" VALIDATE="time" ></td> 
       </tr> 

..... 
<CFSET date_used = #DateFormat(CREATEODBCDATETIME(date_used), "mm/d/yyyy")#> 
<CFSET time_used = #DATEFormat(CREATEODBCTIME(time_used),"h:mm tt")#> 

는하지만

는 오류 얻을 "문자열에서 날짜 및/또는 시간을 변환 할 때 변환이 실패했습니다."

테이블에 time_used를 삽입하는 라인에있는 것이 무엇입니까? 테이블에 특정 시간과 날짜를 삽입하는 더 좋은 방법이 있습니까?

+1

두 번째 DATEFORMAT을 #DateFormat으로 소문자로 입력해야합니다. 그게 내가 처음 본 오류 야. 또한 다음과 같이 시도해보십시오. KRUKUSA

+0

오류는 time_used에서 발생하지만 변경했습니다. – user3591637

+1

한 번에 dateformat을 사용하려고합니다. .. #TimeFormat – KRUKUSA

답변

3

먼저 Dateformat과 TimeFormat이 문자열을 반환하고 datetime 객체가 필요합니다. 그 방법은 ParseDateTime을 사용하는 것입니다.

<cfset YourDateTime = 
    ParseDateTime(form.Date_used & ' ' & form.time_used, 'mask goes here')> 

그런 다음 쿼리에 날짜와 시간을 분리하는 CFQUERYPARAM의 cfsqltype 속성을 사용합니다.

ParseDateTime()에 사용할 마스크를 찾을 수 있습니다.

기본 사항입니다. 물론 많은 입력 검증을해야 할 것입니다. 또한 사용자가 시간의 초 부분을 입력하도록하는 것이 필요한지 확인할 수도 있습니다.

관련 문제