Timezone-free apps
The traditional approach to storing time information in software is to convert to a machine-centered timezone such as Coordinated Universal Time (or UTC), and then convert it back to local time for the interface.
This approach is precise but at the cost of some mental dissonance when the timezone changes: