Learning about Dates and TImes in software engineering
The best learning comes from exploring rabbit holes. So, here's one to consider: dates and times.
In our day to day lives we assume that we have a pretty good idea of how dates and times work. Many computer programs rely on dates or times in one way or another. Most programming languages have date and time either as native types, part of the standard libraries, or via well supported community libraries. Most databases support dates and times natively.
So. We live with dates every day. Programming languages and libraries and databases support them well. Web browsers and mobile operating systems support various ways to input and display dates. Surely then, working with dates in software engineering must be pretty straight forward, right?
Well, as it turns out, nothing is ever that simple. Let's take a deep dive to understand dates better in software engineering.
Here are some possible places to start: