Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

st: RE: calculating elapsed time


From   "Nick Cox" <n.j.cox@Durham.ac.uk>
To   <statalist@hsphsun2.harvard.edu>
Subject   st: RE: calculating elapsed time
Date   Mon, 24 Jun 2002 10:49:27 +0100

Colin A. McKenzie
> 
> I have a data set that has variables time1, date1, time2 and date2.  The
> time variables use the 24 hr clock (ie 1:30 pm is written as 13:30) and
> the date variables are in the form dd/mm/yyyy.  I need the number of
> hours (to one decimal place) between time1 on date1 and time2 on date2. 
> Is there an easy way to calculate this in stata 7?

I presume that -date1- and -date2- are Stata daily 
dates and -time1- and -time2- are string variables. 

I can't think of a better way than using Stata's 
supplied functions, e.g. 

gen str1 Index1 = index(time1,":") 

gen Time1 = 
real(substr(time1, 1, index1 - 1)) / 24 + 
real(substr(time1, 1, index1 + 1)) / (24 * 60) 

and similar for the other time variable, after 
which 

gen diff = 24 * (date2 - date1) + (Time2 - Time1) 

Nick 
n.j.cox@durham.ac.uk 


*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/



© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index