I'm not sure why my results are giving me 0. I'm trying to do a simple date difference. Here's my code:
<cfset nowtime = now()>
<cfif DateDiff("s", getpost.dtstamp, nowtime) lt 60>
<cfset thedate = DateDiff("s", getpost.dtstamp, nowtime) & " seconds ago">
<cfelseif DateDiff("m", getpost.dtstamp, nowtime) lt 60>
<cfset thedate = DateDiff("m", getpost.dtstamp, nowtime) & " minutes ago">
<cfelseif DateDiff("h", getpost.dtstamp, nowtime) lte 23>
<cfset thedate = DateDiff("h", getpost.dtstamp, nowtime) & " hours ago">
<cfelseif DateDiff("d", v.dtstamp, nowtime) lte 7>
<cfset thedate = DateDiff("d", getpost.dtstamp, nowtime) & " days ago">
<cfelse>
<cfset thedate = dateformat(getpost.dtstamp, "mmmm dd")>
</cfif>
When I displayed the original variables it shows:
getpost.dtstamp = 2012-03-10 17:33:25.0 I don't know where this .0 is coming from because the database doesn't show that.
now = {ts '2012-03-12 16:16:02'}
I'm getting 0.
@-==cfSearching==- oh sorry. I missed that. So all results are stuck at saying "0 minutes ago"
and the column is a timestamp mysql
@dan same thing. it dumps the seconds correctly but just stops at the minutes and says 0 minutes. it goes no further, even though all differences between posts are way past 60 minutes.
I don't if the error is being caused by that random .0. I don't even know where it's coming from.
I checked the value of the timestamp column and there is no .0 in there but this is what's dumping out.
getpost.dtstamp = 2012-03-10 17:33:25.0
That is just a user friendly representation of the timestamp value as a string. Internally, it is a big unreadable number xxxxxxxxx. But since you are not performing a string comparison, its not relevant.
Message was edited by: -==cfSearching==-
North America
Europe, Middle East and Africa
Asia Pacific