While almost any coding language you use has at least a data type for dates and times, they are still going to be frustrating to work with…
The rule: Normalize until it hurts; denormalize until it works. That's what you typically get taught early on. While normalizing a database…