Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Difference between dates output

    Hello,

    I have the following data.

    As far as I can see, the date variables are stored correctly and formatter as %tc.

    I can evaluate one date from another e.g. gen tstx =1 if Discharge_Date_old > Admission_Date

    However, when I try:

    gen diff = Discharge_Date_old - Admission_Date, I don't get a difference in days - and I am not sure what to do about it.

    Can someone advise what I should do.

    Code:
    * Example generated by -dataex-. For more info, type help dataex
    clear
    input str10 APCS_Ident double(Admission_Date Discharge_Date_old Total_Cost_Exc_MFF) long Age_At_Start_of_Spell_SUS float diff
    "999936751"  1.9952352e+12 1.9953216e+12 2499 39  8.64e+07
    "1016174089" 1.9788192e+12  1.978992e+12 2499 34 1.728e+08
    "1001770521" 1.9734624e+12 1.9736352e+12 4832 31 1.728e+08
    "1004455141"  1.972944e+12 1.9731168e+12 3335 23 1.728e+08
    "976883021"   1.970784e+12 1.9708704e+12 2499 30  8.64e+07
    "943041904"  1.9662048e+12 1.9663776e+12 3335 30 1.728e+08
    "1003573576"  1.975104e+12 1.9751904e+12 2499 18  8.64e+07
    "1015200011" 1.9756224e+12 1.9758816e+12 4832 24 2.592e+08
    "1005524918" 1.9911744e+12 1.9911744e+12 2051 26         0
    "1005480068" 1.9821888e+12 1.9822752e+12 3335 31  8.64e+07
    "1009576966" 1.9825344e+12 1.9827936e+12 4832 34 2.592e+08
    "1008430550"   1.98504e+12 1.9852128e+12 6085 39 1.728e+08
    "968684049"  1.9693152e+12 1.9696608e+12 4117 31 3.456e+08
    "1010186950" 1.9795104e+12 1.9795968e+12 4117 43  8.64e+07
    "930256662"  1.9646496e+12 1.9652544e+12 3445 28 6.048e+08
    "962507503"  1.9683648e+12 1.9685376e+12 2499 17 1.728e+08
    "1005749005" 1.9852992e+12 1.9857312e+12 6085 29  4.32e+08
    "1000779599" 1.9847808e+12 1.9848672e+12 2051 31  8.64e+07
    "939792153"  1.9654272e+12    1.9656e+12 4832 35 1.728e+08
    "1001498200" 1.9896192e+12 1.9897056e+12 2499 28  8.64e+07
    "1007395485" 1.9725984e+12  1.972944e+12 3335 35 3.456e+08
    "1004561054"  1.972944e+12 1.9730304e+12 2051 34  8.64e+07
    "974289794"   1.971216e+12 1.9713024e+12 2051 26  8.64e+07
    "930467598"   1.966464e+12 1.9665504e+12 3335 38  8.64e+07
    "945196663"  1.9691424e+12 1.9692288e+12 3335 35  8.64e+07
    "1012621831" 1.9817568e+12 1.9818432e+12 3335 22  8.64e+07
    "1010575731" 1.9957536e+12 1.9957536e+12 2051 33         0
    "1006305582" 1.9793376e+12 1.9795968e+12 6085 41 2.592e+08
    "929589652"  1.9658592e+12 1.9659456e+12 3335 28  8.64e+07
    "935513817"  1.9643904e+12 1.9644768e+12 2051 18  8.64e+07
    "1005907753" 1.9921248e+12 1.9922976e+12 4832 24 1.728e+08
    "1013571906" 1.9897056e+12 1.9899648e+12 2499 33 2.592e+08
    "1009085323" 1.9788192e+12 1.9791648e+12 4832 32 3.456e+08
    "1011940265" 1.9951488e+12 1.9954944e+12 6085 26 3.456e+08
    "1011103992" 1.9818432e+12 1.9823616e+12 6085 40 5.184e+08
    "939909155"  1.9649952e+12  1.965168e+12 2499 25 1.728e+08
    "1001290876" 1.9835712e+12 1.9840032e+12 4117 34  4.32e+08
    "1013754070" 1.9767456e+12 1.9770912e+12 3335 27 3.456e+08
    "1017753151" 1.9722528e+12 1.9725984e+12 6085 28 3.456e+08
    "1011252778" 1.9726848e+12 1.9727712e+12 2499 35  8.64e+07
    "1007212255" 1.9901376e+12  1.990224e+12 2051 25  8.64e+07
    "929712010"  1.9667232e+12 1.9668096e+12 3335 33  8.64e+07
    "1015255411" 1.9909152e+12 1.9910016e+12 4117 28  8.64e+07
    "1012591560" 1.9920384e+12 1.9922112e+12 3335 20 1.728e+08
    "971298158"  1.9695744e+12 1.9696608e+12 2499 20  8.64e+07
    "1012155298" 1.9845216e+12  1.984608e+12 3335 32  8.64e+07
    "1012014918"    1.9872e+12 1.9872864e+12 3335 39  8.64e+07
    "1005964172" 1.9741536e+12 1.9750176e+12 4832 34  8.64e+08
    "1002493891" 1.9907424e+12 1.9909152e+12 4117 27 1.728e+08
    "1014796337"  1.980288e+12 1.9805472e+12 3335 35 2.592e+08
    "1012067196" 1.9826208e+12 1.9826208e+12 2051 34         0
    "1007333325"  1.991088e+12 1.9912608e+12 3335 21 1.728e+08
    "934664131"  1.9662048e+12 1.9663776e+12 4832 24 1.728e+08
    "1007494022" 1.9882368e+12 1.9884096e+12 4117 38 1.728e+08
    "1001313778" 1.9840032e+12  1.984176e+12 6085 30 1.728e+08
    "999344910"  1.9878048e+12 1.9878912e+12 3335 31  8.64e+07
    "1008506683"  1.982448e+12 1.9825344e+12 4832 34  8.64e+07
    "1012557903" 1.9799424e+12 1.9799424e+12 3335 34         0
    "939994105"  1.9657728e+12 1.9657728e+12 2051 36         0
    "1013164970" 1.9809792e+12 1.9810656e+12 2499 26  8.64e+07
    "955965244"  1.9670688e+12 1.9671552e+12 3335 38  8.64e+07
    "1011351201"  1.985904e+12 1.9861632e+12 2051 22 2.592e+08
    "1016541872" 1.9778688e+12 1.9780416e+12 2051 35 1.728e+08
    "1002923788" 1.9812384e+12 1.9812384e+12 2499 39         0
    "941762364"  1.9661184e+12 1.9665504e+12 4832 40  4.32e+08
    "1015338749" 1.9728576e+12 1.9732032e+12 4832 40 3.456e+08
    "939248392"   1.966464e+12 1.9666368e+12 4832 28 1.728e+08
    "1016943955" 1.9721664e+12 1.9723392e+12 3335 21 1.728e+08
    "946548313"  1.9679328e+12 1.9680192e+12 3335 25  8.64e+07
    "936727471"  1.9657728e+12 1.9662048e+12 6085 25  4.32e+08
    "935763889"  1.9649952e+12  1.965168e+12 3335 41 1.728e+08
    "933083912"  1.9644768e+12 1.9644768e+12 2051 32         0
    "1002726960" 1.9748448e+12 1.9749312e+12 2499 34  8.64e+07
    "961942366"  1.9667232e+12 1.9671552e+12 4832 28  4.32e+08
    "974562331"  1.9713888e+12 1.9719072e+12 3335 18 5.184e+08
    "1005132963"  1.990656e+12 1.9907424e+12 3335 39  8.64e+07
    "933964735"  1.9668096e+12  1.966896e+12 3335 35  8.64e+07
    "1013479561" 1.9809792e+12  1.981584e+12 6085 36 6.048e+08
    "1003315294" 1.9921248e+12  1.992384e+12 4117 33 2.592e+08
    "1016701473" 1.9800288e+12 1.9801152e+12 2051 29  8.64e+07
    "1004690233" 1.9926432e+12 1.9929024e+12 2499 33 2.592e+08
    "1002947899"  1.979424e+12 1.9795104e+12 2051 28  8.64e+07
    "964596279"   1.971648e+12 1.9719072e+12 2051 39 2.592e+08
    "1006019348" 1.9913472e+12   1.99152e+12 3335 22 1.728e+08
    "930843208"   1.964736e+12 1.9649952e+12 3335 36 2.592e+08
    "959768131"  1.9670688e+12 1.9670688e+12 2051 36         0
    "999378913"  1.9771776e+12 1.9775232e+12 6085 38 3.456e+08
    "1018817853"  1.990224e+12 1.9903104e+12 2499 19  8.64e+07
    "1017541459" 1.9783008e+12 1.9783872e+12 4117 29  8.64e+07
    "976537338"  1.9702656e+12 1.9704384e+12 2051 21 1.728e+08
    "1014818274"  1.972512e+12 1.9725984e+12 3335 33  8.64e+07
    "1001733978" 1.9808064e+12 1.9808928e+12 3335 30  8.64e+07
    "1012314046"  1.975968e+12 1.9762272e+12 3335 29 2.592e+08
    "941908394"  1.9661184e+12 1.9663776e+12 6085 31 2.592e+08
    "1016774978" 1.9844352e+12 1.9845216e+12 2499 22  8.64e+07
    "1003622739" 1.9840896e+12  1.984176e+12 2051 27  8.64e+07
    "999899297"   1.979424e+12 1.9800288e+12 4832 38 6.048e+08
    "1005279138" 1.9821888e+12  1.982448e+12 3335 33 2.592e+08
    "1012015571" 1.9732896e+12 1.9734624e+12 2499 35 1.728e+08
    "1006945418" 1.9879776e+12 1.9883232e+12 3335 28 3.456e+08
    end
    format %tc Admission_Date
    format %tc Discharge_Date_old
    ------------------ copy up to and including the previous line ------------------

    Listed 100 out of 484458 observations




  • #2
    Time is measured in milliseconds. 1 day= 24 hours*60 minutes* 60 seconds*1000 milliseconds

    Code:
    . display 24*60*60*1000
    86400000
    So divide the difference by 8.64e+7 to get it in units of days.

    Comment


    • #3
      Depending on what you want, working with

      Code:
      dofc(Discharge_Date) - dofc(Admission_Date)
      might be as good or better a solution. If you regard being admitted and discharged on the same day as 1 day not 0 days, then add 1.

      Comment


      • #4
        Also, if you are using version 17 or later, clockdiff(Discharge_Date, Admission_Date, "day") will give you the difference in days rounded down to a whole number. If you want it in fractions of a day, clockdiff_frac(Discharge_Date, Admission_Date, "day") will do that.

        By the way, it is helpful to give variables names that correctly express their meanings when possible. In Stata, date and clock variables are different things, and require different functions to manipulate. Giving a clock variable a name that suggests its a date sets one up for the error made in #1. I recommend using date in a variable name only when it is truly a date, not a clock variable. For clock variables, I recommend naming the variable as [whatever]_clock, or _datetime, or for brevity, _dttm. This practice has saved me lots of debugging time as I don't have to remember (or look up) which variables are dates and which are clocks.
        Last edited by Clyde Schechter; 04 Sep 2023, 09:28.

        Comment

        Working...
        X