GML Functions: Date and Time Functions

In Game Maker there are a number of functions to deal with dates and time. A date-time combination is stored in a real number. The integral part of a date-time value is the number of days that have passed since 12/30/1899. The fractional part of the date-time value is fraction of a 24 hour day that has elapsed. The following functions exist: (You can click on the function name to get additional information.)


 * date_current_datetime Returns the date-time value that corresponds to the current moment.
 * date_current_date Returns the date-time value that corresponds to the current date only (ignoring the time).
 * date_current_time Returns the date-time value that corresponds to the current time only (ignoring the date).
 * date_create_datetime(year,month,day,hour,minute,second) Creates a date-time value corresponding to the indicated date and time.
 * date_create_date(year,month,day) Creates a date-time value corresponding to the indicated date.
 * date_create_time(hour,minute,second) Creates a date-time value corresponding to the indicated time.
 * date_valid_datetime(year,month,day,hour,minute,second) Returns whether the indicated date and time are valid.
 * date_valid_date(year,month,day) Returns whether the indicated date is valid.
 * date_valid_time(hour,minute,second) Returns whether the indicated time is valid.
 * date_inc_year(date,amount) Returns a new date that is amount years after the indicated date. amount must be an integer number.
 * date_inc_month(date,amount) Returns a new date that is amount months after the indicated date. amount must be an integer number.
 * date_inc_week(date,amount) Returns a new date that is amount weeks after the indicated date. amount must be an integer number.
 * date_inc_day(date,amount) Returns a new date that is amount days after the indicated date. amount must be an integer number.
 * date_inc_hour(date,amount) Returns a new date that is amount hours after the indicated date. amount must be an integer number.
 * date_inc_minute(date,amount) Returns a new date that is amount minutes after the indicated date. amount must be an integer number.
 * date_inc_second(date,amount) Returns a new date that is amount seconds after the indicated date. amount must be an integer number.
 * date_get_year(date) Returns the year corresponding to the date.
 * date_get_month(date) Returns the month corresponding to the date.
 * date_get_week(date) Returns the week of the year corresponding to the date.
 * date_get_day(date) Returns the day of the month corresponding to the date.
 * date_get_hour(date) Returns the hour corresponding to the date.
 * date_get_minute(date) Returns the minute corresponding to the date.
 * date_get_second(date) Returns the second corresponding to the date.
 * date_get_weekday(date) Returns the day of the week corresponding to the date.
 * date_get_day_of_year(date) Returns the day of the year corresponding to the date.
 * date_get_hour_of_year(date) Returns the hour of the year corresponding to the date.
 * date_get_minute_of_year(date) Returns the minute of the year corresponding to the date.
 * date_get_second_of_year(date) Returns the second of the year corresponding to the date.
 * date_year_span(date1,date2) Returns the number of years between the two dates. It reports incomplete years as a fraction.
 * date_month_span(date1,date2) Returns the number of months between the two dates. It reports incomplete months as a fraction.
 * date_week_span(date1,date2) Returns the number of weeks between the two dates. It reports incomplete weeks as a fraction.
 * date_day_span(date1,date2) Returns the number of days between the two dates. It reports incomplete days as a fraction.
 * date_hour_span(date1,date2) Returns the number of hours between the two dates. It reports incomplete hours as a fraction.
 * date_minute_span(date1,date2) Returns the number of minutes between the two dates. It reports incomplete minutes as a fraction.
 * date_second_span(date1,date2) Returns the number of seconds between the two dates. It reports incomplete seconds as a fraction.
 * date_compare_datetime(date1,date2) Compares the two date-time values. Returns -1, 0, or 1 depending on whether the first is smaller, equal, or larger than the second value.
 * date_compare_date(date1,date2) Compares the two date-time values only taking the date part into account. Returns -1, 0, or 1 depending on whether the first is smaller, equal, or larger than the second value.
 * date_compare_time(date1,date2) Compares the two date-time values only taking the time part into account. Returns -1, 0, or 1 depending on whether the first is smaller, equal, or larger than the second value.
 * date_date_of(date) Returns the date part of the indicated date-time value, setting the time part to 0.
 * date_time_of(date) Returns the time part of the indicated date-time value, setting the date part to 0.
 * date_datetime_string(date) Returns a string indicating the given date and time in the default format for the system.
 * date_date_string(date) Returns a string indicating the given date in the default format for the system.
 * date_time_string(date) Returns a string indicating the given time in the default format for the system.
 * date_days_in_month(date) Returns the number of days in the month indicated by the date-time value.
 * date_days_in_year(date) Returns the number of days in the year indicated by the date-time value.
 * date_leap_year(date) Returns whether the year indicated by the date-time value is a leap year.
 * date_is_today(date) Returns whether the indicated date-time value is on today.