To repeat several posts, DO NOT USE dateFormat().
'dateFormat' is for
formating a date as a string for display. You don't want to
use a
string for mathematical manipulation. Leave your dates as
date objects
for manipulation then format the final result as a string for
display.
Here is a step by step example:
<cfset now = now()>
<cfset then = parseDateTime("3/5/2008 1:15")>
<cfoutput>
#dateFormat(now,"dd/mm/yyyy")#
#timeFormat(now,"hh:mm:ss")#<br />
#dateFormat(then,"dd/mm/yyyy")#
#timeFormat(then,"hh:mm:ss")#<br />
#dateFormat(dateAdd("h",4,now),"dd/mm/yyyy")#
#timeFormat(dateAdd("h",4,now),"hh:mm:ss")#<br />
#dateCompare(then,dateAdd("h",4,now))#
</cfoutput>