Stata Datetime Functions

Stata offers a small library of functions that should only be used on numeric variables with a date or datetime format.


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)


CategoryRicottone