Consider an application like Uber. It operates in multiple cities in multiple time zones. Sometimes the user can book a cab for a friend in another time zone. The DB servers are again distributed in several locations. You can have multiple APIs in between which again have their own servers with their own timezones.
Is enforcing the use of UTC in every software component the only reliable solution? What if a version using local time makes it to production by mistake?
I am interested in knowing the best practices when it comes to storing date-time values.