https://mysteryweevil.medium.com/mastering-time-datetime-and-domain-specific-languages-in-python-eaed036427b6