# AIDate Class Reference

Class that handles all date related (calculation) functions. More...

`#include <ai_date.hpp>`

Inheritance diagram for AIDate:

## Static Public Member Functions
static const char * | GetClassName ()
| Get the name of this class to identify it towards squirrel.
static int32 | GetCurrentDate ()
| Get the current date.
static int32 | GetYear (int32 date)
| Get the year of the given date.
static int32 | GetMonth (int32 date)
| Get the month of the given date.
static int32 | GetDayOfMonth (int32 date)
| Get the day (of the month) of the given date.
static int32 | GetDate (int32 year, int32 month, int32 day_of_month)
| Get the date given a year, month and day of month.

## Detailed Description

Class that handles all date related (calculation) functions.

Note:
  Months and days of month are 1-based; the first month of the year is 1 and the first day of the month is also 1.
  Years are zero based; they start with the year 0.
  Dates can be used to determine the number of days between two different moments in time because they count the number of days since the year 0.

Definition at line 27 of file ai_date.hpp.

## Member Function Documentation

static const char* AIDate::GetClassName | ( |  | ) | `[inline, static]`

Get the name of this class to identify it towards squirrel.

Definition at line 30 of file ai_date.hpp.

int32 AIDate::GetCurrentDate | ( |  | ) | `[static]`

Get the current date.

This is the number of days since epoch under the assumption that there is a leap year every 4 years, except when dividable by 100 but not by 400.

Returns:
  The current date.

Definition at line 16 of file ai_date.cpp.

References _date.

Referenced by AISubsidy::GetExpireDate().

int32 AIDate::GetDate | ( | int32 | year,
|  | int32 | month,
|  | int32 | day_of_month |
| ) |  |  | `[static]`

Get the date given a year, month and day of month.

Parameters:

  | year | The year of the to-be determined date.
  | month | The month of the to-be determined date.
  | day_of_month | The day of month of the to-be determined date.

Returns:
  The date.

Definition at line 48 of file ai_date.cpp.

References ConvertYMDToDate(), and MAX_YEAR.

Referenced by AISubsidy::GetExpireDate().

int32 AIDate::GetDayOfMonth | ( | int32 | date | ) | `[static]`

Get the day (of the month) of the given date.

Parameters:

  | date | The date to get the day of.

Returns:
  The day.

Definition at line 39 of file ai_date.cpp.

References ConvertDateToYMD().

int32 AIDate::GetMonth | ( | int32 | date | ) | `[static]`

Get the month of the given date.

Parameters:

  | date | The date to get the month of.

Returns:
  The month.

Definition at line 30 of file ai_date.cpp.

References ConvertDateToYMD().

Referenced by AISubsidy::GetExpireDate().

int32 AIDate::GetYear | ( | int32 | date | ) | `[static]`

Get the year of the given date.

Parameters:

  | date | The date to get the year of.

Returns:
  The year.

Definition at line 21 of file ai_date.cpp.

References ConvertDateToYMD().

Referenced by AISubsidy::GetExpireDate().

The documentation for this class was generated from the following files:

- src/ai/api/ai_date.hpp
- src/ai/api/ai_date.cpp