Stata Datetime Functions
Stata offers a small library of functions that should only be used on numeric variables with a date or datetime format.
Contents
COfC
Convert a datetime around the handling of leap seconds.
Cofc takes a datetime ignoring leap seconds since the Stata epoch (01jan1960 00:00:00.000) as input, and returns a datetime including them.
cofC does the reverse.
generate double datetime2 = cofC(datetime) format datetime2 %tc generate double datetime3 = Cofc(datetime) format datetime3 %tC
COfD
Convert a date into a datetime.
There are two functions: cofd and Cofd. They return a numeric value that should be formatted as %tc or %tC, respectively.
generate double datetime = cofd(date) format datetime %tc generate double datetime2 = Cofd(date) format datetime2 %tC
Day
Extract the day of the month number (1 to 31) from a date (i.e. %td-formatted value).
generate byte day = day(date)
DOfC
Convert a datetime into a date.
There are two functions: dofc and dofC. They take a numeric value as input, formatted as %tc or %tC respectively.
generate long date = dofc(datetime) #or generate long date = dofC(datetime) format date %td
DOfH
Convert a half-year (i.e. a %th-formatted value) into a date.
generate long date = dofh(halfyear) format date %td
DOfM
Convert a month (i.e. a %tm-formatted value) into a date.
generate long date = dofm(month) format date %td
DOfQ
Convert a quarter (i.e. a %tq-formatted value) into a date.
generate long date = dofq(quarter) format date %td
DOfW
Convert a week (i.e. a %tw-formatted value) into a date.
generate long date = dofw(week) format date %td
DOfY
Convert a year (i.e. a %ty-formatted value) into a date.
generate long date = dofy(year) format date %td
Dow
Extract the day of the week number (0 to 6; Sunday is 0) from a date (i.e. %td-formatted value).
generate byte day = dow(date)
Doy
Extract the day of the year number (1 to 366) from a date (i.e. %td-formatted value).
generate byte day = doy(date)
HalfYear
Extract the half year number (1 to 2) from a date (i.e. %td-formatted value).
generate byte halfyear = halfyear(date)
Hh
Extract the hours from a %tc-formatted datetime.
generate byte hours =hh(datetime)
HhC
Extract the hours from a %tC-formatted datetime.
generate byte hours =hhC(datetime)
Mm
Extract the minutes from a %tc-formatted datetime.
generate byte minutes = mm(datetime)
MmC
Extract the minutes from a %tC-formatted datetime.
generate byte minutes = mmC(datetime)
Month
Extract the month number (1 to 12) from a date (i.e. %td-formatted value).
generate byte month = month(date)
Quarter
Extract the quarter number (1 to 4) from a date (i.e. %td-formatted value).
generate byte quarter = quarter(date)
Ss
Extract the seconds from a %tc-formatted datetime.
generate byte seconds = ss(datetime)
SsC
Extract the seconds from a %tC-formatted datetime.
generate byte seconds = ssC(datetime)
Week
Extract the week number (1 to 52) from a date (i.e. %td-formatted value).
generate byte week = week(date)
Year
Extract the year from a date (i.e. %td-formatted value).
generate byte year = year(date)