[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

Time compare

Posted on 2009-05-19
7
Medium Priority
?
315 Views
Last Modified: 2012-05-07
I am trying to create a code set that will tell me how old reports are. For example. I have a field in the ACCESS db that is "report_date" and is a date/time. I want to break the reports down by
1. Less than 24 hours
2. 24-48 hours
3. 3-7 days
4. 7+ days

I know I can use datecompare, but I am having trouble with the less than 24 hours and the 24-48 hours part.

How can I take report_date < 24 hours and cull those records from the query and report_date between 24-48 hours with a date.
0
Comment
Question by:dudeatwork
7 Comments
 
LVL 19

Expert Comment

by:erikTsomik
ID: 24425221
try this code it works just fine
<cfset lTime1="2/18/2008 11:31:15 AM">
<cfset lTime2 = "2/15/2008 15:31:15 PM">
<cfif DateDiff("h",lTime1,lTime2) gt 24 and DateDiff("h",lTime1,lTime2) lt 48>
Hello
<cfelse>
Not Hello
</cfif>
0
 

Author Comment

by:dudeatwork
ID: 24425347
What if the table is broken to two columns report_date and report_time. Can I concatenate in the query report_date & report_time as mydate?
I am trying to get the condition in the cfquery for the record sets.
0
 
LVL 52

Accepted Solution

by:
_agx_ earned 1500 total points
ID: 24425967
> Can I concatenate in the query report_date & report_time as mydate?

I believe Access stores date/time values as numbers internally. So just add them together. Then compare that value to whatever date and time value you need (24 hours ago, 24-28 hours, etc).  It should work fine, though it is probably the ideal method.  (I prefer to store date and time values in one field, because of exactly this type of scenario.)
<!--- create the time ranges you need --->
<cfset dateTimeNow = now()>
<cfset twentyFourHoursAgo = dateAdd("d", -24, dateTimeNow)>
<cfset twentyEightHoursAgo = dateAdd("d", -28, dateTimeNow)>
....
 
<cfquery name="lessThan24Hrs" datasource="YourDatasource">
	SELECT 	report_date, report_time, OtherColumns ...
	FROM 	yourTable
	WHERE	(report_date+ report_time) > <cfqueryparam value="#twentyFourHoursAgo#" cfsqltype="cf_sql_timestamp">
</cfquery>
 
<cfquery name="from24To28Hours" datasource="YourDatasource">
	SELECT 	report_date, report_time, OtherColumns ...
	FROM 	yourTable
	WHERE	(report_date+ report_time)	BETWEEN 
			<cfqueryparam value="#twentyFourHoursAgo#" cfsqltype="cf_sql_timestamp"> AND
			<cfqueryparam value="#twentyEightHoursAgo#" cfsqltype="cf_sql_timestamp">
</cfquery>

Open in new window

0
[Webinar] Cloud and Mobile-First Strategy

Maybe you’ve fully adopted the cloud since the beginning. Or maybe you started with on-prem resources but are pursuing a “cloud and mobile first” strategy. Getting to that end state has its challenges. Discover how to build out a 100% cloud and mobile IT strategy in this webinar.

 
LVL 52

Expert Comment

by:_agx_
ID: 24425974
> though it is probably the ideal method.

... though it is probably NOT the ideal method.
0
 
LVL 27

Expert Comment

by:azadisaryev
ID: 24428353
@_agx_:  :) typos again! your code is getting records from 24 and 28 DAYS ago... and 28 should be 48 according to the question...

Azadi
0
 
LVL 52

Expert Comment

by:_agx_
ID: 24430175
Ack!   Thank you :)   I was focusing on the Access db differences.  Just a _slight_ difference ;-)

Thanks to azadi, the corrected date logic is:

<cfset twentyFourHoursAgo = dateAdd("h", -24, dateTimeNow)>
<cfset twentyEightHoursAgo = dateAdd("h", -28, dateTimeNow)>
0
 

Author Closing Comment

by:dudeatwork
ID: 31583154
Nice try though, thanks.
0

Featured Post

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

PROBLEM:  How to open a cfwindow or run a function on double click of a cfgrid row. One of my clients wanted to be able to double click on a row item to get more detailed information about a transaction and to be able to modify the line items i…
This is an updated version of a post made on my blog over 3 years ago. It is unfortunately, still very relevant as we continue to see both SQLi (SQL injection) and XSS (cross site scripting) attacks hitting some of the most recognizable website and …
In a question here at Experts Exchange (https://www.experts-exchange.com/questions/29062564/Adobe-acrobat-reader-DC.html), a member asked how to create a signature in Adobe Acrobat Reader DC (the free Reader product, not the paid, full Acrobat produ…
Whether it be Exchange Server Crash Issues, Dirty Shutdown Errors or Failed to mount error, Stellar Phoenix Mailbox Exchange Recovery has always got your back. With the help of its easy to understand user interface and 3 simple steps recovery proced…

873 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question