Tomorrow I won't have to deal with it getting dark at a soul-crushing 5:30 pm. Nor will I have to wake up blearily an hour early in the spring. Instead I will be enjoying my new, custom time zone. It's "JEST", for "Joey's Eastern (non)Standard Time", and in JEST, there is no spring forward or fall back stress.
The folly of daylight savings time (Ben Franlin's best prank ever) really becomes apparent when you have solar power. It's bad enough that the sun is setting at 6:30 without compounding that by an hour. By keeping my clock set so the sun sets in midwinter at 6 pm, I will maximise what little light there is, and minimise time spent using batteries in the dark.
Of course, it helps that I'm my own boss, and that most of the people I work with are probably not in a nearby timezone anyway, and that most things are done asynchronously. Since JEST is an hour ahead of local time here in the winter, I will, at worst, tend to be running early.
So I only have to change my clocks one time -- and by "change", I mean create a custom timezone in Linux. Here's how to do that.
Make a custom timezone file. The standard one for North America is a bewildering 3000 lines of special cases, conflicting legistlation, and historical weirdness, but I only need one:
echo "Zone JEST -4:00 - JEST" > JEST.zone
Compile and install it to somewhere; I put it in
~/.zoneinfo
zic JEST.zone -d ~/.zoneinfo
Set TZ to use it. Also TZDIR if it's not in the system directory.
export TZDIR=~/.zoneinfo TZ=JEST
Update: Turns out it was easier than I thought, just setting TZ=FOO+4
will make date display a timezone "FOO" that is 4 hours behind GMT. So
all I need is to set TZ=JEST+4
Result:
date: Sat Oct 30 21:43:39 JEST 2010
date -R: Sat, 30 Oct 2010 21:43:39 -0400
Previously:
Also, for Android:
Android does not seem to have an way to define your own time zone. I select Barbados from the time zone list, since it is on GMT-4 year round with no daylight savings.
So is not the statutory/standard TZ in your locale close (within an hour) to the Sun in the Winter ?
That's what happens here - there are occasionally evil mutterings to move us (UK residents) onto the central European time, so only in the summer do we match the sun. But given humans operate so much better in daylight - that seems - well wrong.
@chris: Excellent point about GMT+4, but I don't like how date displays it:
That is highly confusing since I also sometimes need to refer to the real GMT. But JEST+4 both displays as its own zone and needs no custom zonefile, cool.
@Josh: Tried that, didn't work for me. I think there is a powerful psychological component to having certian numbers on the clock mean certian things, and it's particularly noticable when trying to get up in the morning. Actually, isn't that very effect what makes switching to DST cause people to actually wake up earlier?
@Roger Actually, here is slightly better than eg, New York City which in the same timezone, has the sun setting half an hour earlier. I believe that means it will set at 4:30pm for them tomorrow.
@joey: I meant "Etc/GMT+4", not "GMT+4":
campbell ~$ TZ=Etc/GMT+4 date
Mon Nov 8 00:58:06 GMT+4 2010
But the TZ=YourNameHere+# thing is a neat trick too.