Any and all advice, guides, and reviews are unbiased and based on my personal experience. If you buy through affiliate links, I may earn commissions, which helps support my website. This does not have an impact on posts or my opinion of any reviewed products. If you find this post helpful and want to say thanks, please buy me a coffee or take a look at my book on Amazon. It keeps this page ad-free. Thank you!
I’ve recently become (mildly) obsessed in making clocks out of old kindles and ran into an issue with it correctly offseting for daylight savings time. If you have want to donate an old kindle to someone who could make good use of it, please contact me.
To set the time, I was using the POSIX code
TZ=’EST5EDT,M3.5.0/1:00:00,M10.5.0/2:00:00′
But the clock was always an hour out, despite it being daylight savings time. After much research, I finally fixed it and have a proper understanding of POSIX TZ.
Think of the TZ variable as a time zone override. In most cases, your system’s default settings will handle this for you. But there are exceptions—like when you’re working on a device that is offline and doesn’t sync to a time server, a remote machine in a different time zone , and you want timestamps that match your local time instead of the server’s or in my case, an accurate Kindle clock.
How TZ Works
The TZ variable can be set in one of three formats. The most practical option taps into a database of time zones covering pretty much the entire globe. But if you’re dealing with an older POSIX system or it’s offline, you might encounter formats that require you to describe time zone rules directly. To understand hopw to use the POSIX TZ command to properly set the time zone and adjust automatically for daylight savings time, we need to break down the TZ command.
If you take:
TZ='EST5EDT,M3.5.0/1:00:00,M10.5.0/2:00:00'
it actually translates into
TZ=std offset dst [offset],start[/time],end[/time]
Here’s a breakdown:
No Daylight Saving Time (DST):
- Example: EST5
- Specifies the time zone abbreviation and the offset from UTC. No DST included.
With Daylight Saving Time:
- Example: EST5EDT,M3.5.0/1:00:00,M10.5.0/2:00:00
- Adds details for DST and when DST starts and ends (like the fifth Sunday in March at 1am and the fifth Sunday in October at 2am.).
If you were setting daylight savings time for US Eastern in 2025, then the TZ file would be as follows:
TZ='EST5EDT,M3.2.0/1:00:00,M11.1.0/2:00:00'
This is because, in 2025 daylight savings begins March 9 (3rd month – 3) and on Sunday (the second Sunday – 2); then daylight savings ends November (11th month – 11) on Sunday (1st Sunday – 1). I could probably write a script that would pull the correct daylight savings cut over each year from a server but really don’t want to have the kindle running on WiFi all the time. So, I plan to manually update my .conf file each year. Either way, I now have a 100% working kindle clock with accurate time.
Hope this helps someone else!
Any and all advice, guides, and reviews are unbiased and based on my personal experience. If you buy through affiliate links, I may earn commissions, which helps support my website. This does not have an impact on posts or my opinion of any reviewed products. If you find this post helpful and want to say thanks, please buy me a coffee or take a look at my book on Amazon. It keeps this page ad-free. Thank you!