Arma 3 Scripting

Command in Environment

date

Also available as Markdown and JSON, or read the original wiki page.

Description

Return the actual in-mission date and time.

Syntax

date

Returns: Date

Examples

Example 1

// in Arma 3
date params ["_year", "_month", "_day", "_hours", "_minutes"];

// pre Arma 3
private ["_now", "_year", "_month", "_day", "_hours", "_minutes"];
_now = date;    // [2014,10,30,2,30] a.k.a Oct. 30th, 2:30am
_year        = _now select 0;
_month        = _now select 1;
_day        = _now select 2;
_hours        = _now select 3;
_minutes    = _now select 4;

Example 2

if (date select 3 >= 19) then        // 7pm
{
    hintSilent "ah, Arma sunset";    // ...cue bad guys
};

Multiplayer

Returns the current local (MP client) in-game date.

Note

Arma 3: Clients' local date is automatically and periodically synchronised with the server date.

See also

setDate · dateToNumber · numberToDate · time · missionStart · systemTime · systemTimeUTC

Community notes

Lou Montana

a useful script to format the date:

_curDate = date;
private _ddMMyyyy = format ["%3/%2/%1",
    _curDate select 0,
    (if (_curDate select 1 < 10) then { "0" } else { "" }) + str (_curDate select 1),
    (if (_curDate select 2 < 10) then { "0" } else { "" }) + str (_curDate select 2)
];

it can be shortened to: (no intermediary variable but more request to date)

private _ddMMyyyy = format ["%3/%2/%1",
    date select 0,
    (if (date select 1 < 10) then { "0" } else { "" }) + str (date select 1),
    (if (date select 2 < 10) then { "0" } else { "" }) + str (date select 2)
];

EDIT: or to

private _ddMMyyyy = format ["%4%5/%2%3/%1",
    date select 0,
    ["", "0"] select (date select 1 < 10),
    date select 1,
    ["", "0"] select (date select 2 < 10),
    date select 2
];