# date_type.h File Reference

Types related to the dates in OpenTTD. More...

Go to the source code of this file.

## Data Structures

struct | YearMonthDay
| Data structure to convert between Date and triplet (year, month, and day). More...

## Defines

#define | ORIGINAL_BASE_YEAR 1920
| The minimum starting year/base year of the original TTD.
#define | ORIGINAL_END_YEAR 2051
| The original ending year.
#define | ORIGINAL_MAX_YEAR 2090
| The maximum year of the original TTD.
#define | DAYS_TILL_ORIGINAL_BASE_YEAR (DAYS_IN_YEAR * ORIGINAL_BASE_YEAR + ORIGINAL_BASE_YEAR / 4 - ORIGINAL_BASE_YEAR / 100 + ORIGINAL_BASE_YEAR / 400)
| The offset in days from the '_date == 0' till 'ConvertYMDToDate(ORIGINAL_BASE_YEAR, 0, 1)'.
#define | MIN_YEAR 0
#define | MAX_YEAR 5000000

## Typedefs

typedef int32 | Date
typedef uint16 | DateFract
typedef int32 | Year
typedef uint8 | Month
typedef uint8 | Day

## Enumerations

enum | { DAY_TICKS = 74, DAYS_IN_YEAR = 365, DAYS_IN_LEAP_YEAR = 366 }
| 1 day is 74 ticks; _date_fract used to be uint16 and incremented by 885. More...

## Variables

static const Year | INVALID_YEAR = -1
static const Date | INVALID_DATE = -1

## Detailed Description

Types related to the dates in OpenTTD.

Definition in file date_type.h.

## Enumeration Type Documentation

anonymous enum

1 day is 74 ticks; _date_fract used to be uint16 and incremented by 885.

On an overflow the new day begun and 65535 / 885 = 74. 1 tick is approximately 30 ms. 1 day is thus about 2 seconds (74 * 30 = 2220) on a machine that can run OpenTTD normally

Enumerator:

  DAY_TICKS | ticks per day
  DAYS_IN_YEAR | days per year
  DAYS_IN_LEAP_YEAR | sometimes, you need one day more...

Definition at line 14 of file date_type.h.