# Datetime Functions?

#### Chris Wilfong

##### Member
Let's say I wanted to make a countdown timer for a deadline, and that deadline is February 4th, 2020 at 6:30 PM. I want it to be displayed like, "You have __ months, __ days, __ hours, and __ minutes."

What's the most efficient way to do this?
Thanks!

#### FrostyCat

##### Member
One way is to use date_minute_span() and then using div and mod to convert the units.

Create:
Code:
``````current_datetime = date_current_datetime();
target_datetime = date_create_datetime(2020, 2, 4, 18, 30, 0);``````
Step:
Code:
``current_datetime = date_current_datetime();``
Draw:
Code:
``````var mins = date_minute_span(current_datetime, target_datetime);
draw_text(x, y, "You have " + string(mins div 1440) + " days, " + string((mins div 60) mod 24) + " hours, and " + string(round(mins mod 60)) + " minutes.");``````
I decided not to use months as a unit as there are long months and short months in a year, and that would just cause confusion at a UX level. But if you want to use 30 days as a standardized month, then use mins div 43200 for months and (mins div 1440) mod 30 for days.

Last edited:

#### Chris Wilfong

##### Member
Word! This worked perfectly, ty.
Can you help me understand div and and mod? I get how days work but confused about hours and minutes.

#### FrostyCat

##### Member
Word! This worked perfectly, ty.
Can you help me understand div and and mod? I get how days work but confused about hours and minutes.
div is integer division and mod is the remainder after integer division. The expressions should all be self-explanatory for anyone who remembers third grade math.

#### nacho_chicken

##### Member
div is integer division and mod is the remainder after integer division. The expressions should all be self-explanatory for anyone who remembers third grade math.
To add on to this, GMS2 added the modulo operator (%), so you don't have to use the mod keyword.
Code:
``````var foo = 5 mod 2;
//Functionally identical to
var foo = 5%2;``````

#### Chris Wilfong

##### Member
div is integer division and mod is the remainder after integer division. The expressions should all be self-explanatory for anyone who remembers third grade math.
Yeahhh I don't know what elementary school you went to, but no third graders where I live would understand this. But I get it now.

#### rIKmAN

##### Member
Yeahhh I don't know what elementary school you went to, but no third graders where I live would understand this. But I get it now.
Assuming they taught you to read in elementary school, you can also find the explanations in the manual
div, mod (%) - Division and modulo, where div gives you the amount a value can be divided into producing only an integer quotient, while mod gives you only the remainder of a division.
Note that you can only div or mod using integer values.