stata* COnverts a clocktime (DMY hms) to string intervals for use in lgraph
// DATE
split time ,p(” “)
rename time2 x
split x, p(/)
gen month= real(x1)
gen day= real(x2)
gen yr = real(x3) + 2000
drop x*
// TIME
rename time1 x
split x,p(:)
gen hr=real(x1)
gen mins=real(x2)
gen secs=real(x3)
drop x*
gen double date_tc= mdyhms(month, day,yr,hr, mins, secs)
format date_tc %tcNN/DD/CCYY_HH:MM
egen string_dt = concat (yr month day hr mins secs),p(-)
format %tcHH:MM:SS date_tc
gen date_td = dofc(date_tc)
format %tdDD/NN/CCYY date_td
order date_tc string_dt
sort date_tc
order date_tc date_td
drop tim*
// Hrly intervals
gen min0=0
gen s0=0
gen double date_min60= mdyhms(month, day,yr,hr, min0, s0)
format date_min60 %tcNN/DD/CCYY_HH:MM
egen string_min60 = concat (yr mo day hr min0),p(-)
// 20 minute intervals
egen min20=cut(mins), at(0(20)60)
gen double date_min20 = mdyhms(month, day,yr,hr, min20, s0)
format %tcHH:MM:SS date_min20
egen string_mins20 = concat (yr mo day hr min20),p(-)
// 10 minute intervals
gen s10=0
gen double date_min = mdyhms(month, day,yr,hr, mins, s0)
egen min10=cut(mins), at(0(10)60)
gen double date_min10 = mdyhms(month, day,yr,hr, min10, s0)
format %tcHH:MM:SS date_min10
egen string_mins10 = concat (yr mo day hr min10),p(-)
//5 minute intervals
egen min5=cut(mins), at(0(5)60)
gen double date_min5 = mdyhms(month, day,yr,hr, min5, s0)
format %tcHH:MM:SS date_min
egen string_mins5 = concat (yr mo day hr min5),p(-)
//1 minute intervals
gen double date_min1 = mdyhms(month, day,yr,hr, mins, s0)
format %tcHH:MM:SS date_min
egen string_mins1 = concat (yr month day hr mins),p(-)
///////////////// from clock date for lgraph
// DATE
gen month= month(dofc(date_tc))
gen day= day(dofc(date_tc))
gen yr = year(dofc(date_tc))
gen hr=hh(date_tc)
gen mins=mm(date_tc)
gen secs=ss(date_tc)
// Hrly intervals
gen min0=0
gen s0=0
gen double date_min60= mdyhms(month, day,yr,hr, min0, s0)
format date_min60 %tcNN/DD/CCYY_HH:MM
egen string_min60 = concat (yr mo day hr min0),p(-)
// 20 minute intervals
egen min20=cut(mins), at(0(20)60)
gen double date_min20 = mdyhms(month, day,yr,hr, min20, s0)
format %tcHH:MM:SS date_min20
egen string_mins20 = concat (yr mo day hr min20),p(-)
// 10 minute intervals
gen s10=0
gen double date_min = mdyhms(month, day,yr,hr, mins, s0)
egen min10=cut(mins), at(0(10)60)
gen double date_min10 = mdyhms(month, day,yr,hr, min10, s0)
format %tcHH:MM:SS date_min10
egen string_mins10 = concat (yr mo day hr min10),p(-)
//5 minute intervals
egen min5=cut(mins), at(0(5)60)
gen double date_min5 = mdyhms(month, day,yr,hr, min5, s0)
format %tcHH:MM:SS date_min
egen string_mins5 = concat (yr mo day hr min5),p(-)
//1 minute intervals
gen double date_min1 = mdyhms(month, day,yr,hr, mins, s0)
format %tcHH:MM:SS date_min
egen string_mins1 = concat (yr month day hr mins),p(-)