# DATE > [HTML Version](datesystemvariable.htm) The DATE system variable always contains the current date in 'separated date format' as given below. Also see the related but separate dot variable [.DATE](dotvariables.htm.md). Note that in order to split the DATE system variable out into the individual fields, you have to assign it to a B,4 variable that overlayss the 4 byte structure (BDATE in the example above). Setting SDATE = DATE will not work, since SDATE is an unformatted variable, which will result in a data conversion during the assignment. You may also use the formal structure ST\_SEPDATE defined in ashell.sdf as: defstruct ST\_SEPDATE \! standard separated date format map2 sdate map3 mon,b,1 \! month of year (1-12) map3 day,b,1 \! day of month (1-31) map3 yr,b,1 \! year - 1900 map3 dow,b,1 \! day of week (0=mon, 6=sun) map2 sysdate,b,4,@sdate \! use for assigning from DATE sys var endstruct For example... \++include ashinc:ashell.sdf map1 birthdate, ST\_SEPDATE birthdate.sysdate = DATE ? "month: ";birthdate.mon; ", day: ";birthdate.day; ", year: "; (1900+birthdate.yr) **See Also:** • [.DATE and .YYMMDD dot variables](timesystemvariable.htm.md) • [ODTIM](odtim_sbr.htm.md)[XS](keyword-types.htm.md) • [ODTIM()](odtim().htm.md) • [DATES](keyword-types.htm.md)[XS](keyword-types.htm.md) • [DSTOI](dstoisbr.htm.md)[XS](keyword-types.htm.md) • [JULCVT](julcvt_sbr.htm.md)[XS](keyword-types.htm.md)