We’ve had several episodes on dates and times, oriented around how to think about the data types being used and all the fun wrinkles there. However, it doesn’t end there – the intent of the user when entering a date or time matters a lot and can change the way you design your system.
Generally speaking a data type is either primitive or composite. A primitive data type can either be a basic type that provides the basic building blocks for a language or a built-in type that the language treats and supports as a basic type. Composite types are ones that are a combination of primitive types or other composite types. These may or may not be built into the language you are using.