typedate
Typedate is a concept in software development referring to a strongly typed representation of a calendar date, designed to prevent common errors that arise when dates are handled as strings or loosely-typed data. In a typedate system, a date value encodes year, month, and day in a dedicated type, with invariant validation that rejects invalid dates (for example, February 30) at construction time.
Key characteristics of typedate include immutability, explicit constructors or factory functions, and a rich interface for
In practice, typedates appear in languages with strong type systems or in libraries that aim to replace