Skip to main content
lovewebdev
Inspiring
March 12, 2012
Answered

Difference between 2 timestamps

  • March 12, 2012
  • 2 replies
  • 1929 views

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.

    This topic has been closed for replies.
    Correct answer -__cfSearching__-

    @-==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.


    Okay, that explains it. You have got the wrong DateDiff unit.  "m" stands for months, not minutes.

    2 replies

    Inspiring
    March 12, 2012

    When in doubt, look at your data.  What does this give you?

    <cfdump var = "nowtime is #nowtime# dtstamp is #getpost.dtstamp# datediff seconds is  #DateDiff("s", getpost.dtstamp, nowtime)#">

    Inspiring
    March 12, 2012

    Zero what: seconds ago, minutes ago, ....?  What is the data type of the dtstamp column?

    <cfelseif DateDiff("d", v.dtstamp, nowtime) lte 7>

    Btw, are you intentionally using a different variable there?

    lovewebdev
    Inspiring
    March 12, 2012

    Just a mistake as I pasted my code on the forum it should be the same as the variables above it. That's not the cause of the error

    Inspiring
    March 12, 2012

    That was just an fyi in case it was not a copy/paste error ;-)

    What about the first two questions?