How can I count the number of days between two dates in Stata?

How can I count the number of days between two dates in Stata?

Counting the number of days between two dates in Stata can be easily accomplished by using the “td” function. This function calculates the difference between two dates in days and can be applied to any date format in Stata. By specifying the starting and ending dates, the function will return the exact number of days between the two dates. This can be useful for various purposes, such as calculating the duration of an event or tracking the time between two data points. Using the “td” function in Stata allows for a quick and accurate way to determine the number of days between two dates.

Stata FAQ: How can I count the number of days between two dates? | Stata FAQ

Stata makes it very simple to calculate the amount of time between two dates, because
it internally represents each date as a number. This is convenient when you need to
calculate the number of days between patient appointments, for example.

Example 1, dates in wide format

In this example, the start and end dates are in different variables (columns).


clear

input id m1 d1 m2 d2, 
0 1 2 3 4
0 5 6 7 8 
0 9 10 11 12
1 4 5 6 7
1 8 9 10 11
end

gen date1 = mdy(m1, d1, 2001)

gen date2 = mdy(m2, d2, 2002)

drop m1-d2

format date1 %td

format date2 %td
    

To get the number of days in between, just subtract one date from the other:


. /* For wide format*/
. gen between = date2 - date1

. li

     +------------------------------+
     | id   date1   date2   between |
     |------------------------------|
  1. |  0   14977   15403       426 |
  2. |  0   15101   15529       428 |
  3. |  0   15228   15656       428 |
  4. |  1   15070   15498       428 |
  5. |  1   15196   15624       428 |
     +------------------------------+

Example 2, dates in long format

Continuing the example above, we can also calculate the number of days between
different observations. This is appropriate when data is stacked. Here we lag date1
by one, and again take the difference with the unlagged date1.



. /* For long format*/
. sort date1
. gen between2 = date1 - date1[_n-1]

(1 missing value generated)


. li
       

     +-------------------------------------------------+
     | id       date1       date2   between   between2 |
     |-------------------------------------------------|
  1. |  0   02jan2001   04mar2002       426          . |
  2. |  1   05apr2001   07jun2002       428         93 |
  3. |  0   06may2001   08jul2002       428         31 |
  4. |  1   09aug2001   11oct2002       428         95 |
  5. |  0   10sep2001   12nov2002       428         32 |
     +-------------------------------------------------+


Example 3, dates in long format by group

In previous example, we see that id is not in order, and the differences span those rows. This might
not make sense, eg if the two observations came from two different subjects. To account
for this we can use the by command.

 
. /* For long format by id  */
. sort id date2
. by id: gen between3 = date2 - date2[_n-1]   

(2 missing values generated)


. li


     +------------------------------------------------------------+
     | id       date1       date2   between   between2   between3 |
     |------------------------------------------------------------|
  1. |  0   02jan2001   04mar2002       426          .          . |
  2. |  0   06may2001   08jul2002       428         31        126 |
  3. |  0   10sep2001   12nov2002       428         32        127 |
  4. |  1   05apr2001   07jun2002       428         93          . |
  5. |  1   09aug2001   11oct2002       428         95        126 |
     +------------------------------------------------------------+

Cite this article

stats writer (2024). How can I count the number of days between two dates in Stata?. PSYCHOLOGICAL SCALES. Retrieved from https://scales.arabpsychology.com/stats/how-can-i-count-the-number-of-days-between-two-dates-in-stata/

stats writer. "How can I count the number of days between two dates in Stata?." PSYCHOLOGICAL SCALES, 1 Jul. 2024, https://scales.arabpsychology.com/stats/how-can-i-count-the-number-of-days-between-two-dates-in-stata/.

stats writer. "How can I count the number of days between two dates in Stata?." PSYCHOLOGICAL SCALES, 2024. https://scales.arabpsychology.com/stats/how-can-i-count-the-number-of-days-between-two-dates-in-stata/.

stats writer (2024) 'How can I count the number of days between two dates in Stata?', PSYCHOLOGICAL SCALES. Available at: https://scales.arabpsychology.com/stats/how-can-i-count-the-number-of-days-between-two-dates-in-stata/.

[1] stats writer, "How can I count the number of days between two dates in Stata?," PSYCHOLOGICAL SCALES, vol. X, no. Y, ص Z-Z, July, 2024.

stats writer. How can I count the number of days between two dates in Stata?. PSYCHOLOGICAL SCALES. 2024;vol(issue):pages.

Download Post (.PDF)
Slide Up
x
PDF
Scroll to Top