Determining daylight savings changes on BSD
Dan Nelson
dnelson at allantgroup.com
Fri Feb 2 19:18:27 UTC 2007
In the last episode (Feb 02), Jerry McAllister said:
> On Fri, Feb 02, 2007 at 10:36:37AM -0600, Dan Nelson wrote:
> > In the last episode (Feb 02), Robert Fitzpatrick said:
> > > I use the following command on our CentOS Linux servers to find
> > > out if the system is ready for the daylight savings changes
> > > coming up, but it does not seem to work the same on our FreeBSD
> > > 5.4 and 6.1 servers. How can I do this? I see the zdump command
> > > and the man page seems to suggest the same usage, but...
> > >
> > > esmtp# zdump -v US/Eastern | grep 2007
> > > esmtp# zdump -v US/Eastern
> > > US/Eastern Fri Dec 13 20:45:52 1901 UTC = Fri Dec 13 20:45:52 1901 UTC isdst=0 gmtoff=0
> > > US/Eastern Sat Dec 14 20:45:52 1901 UTC = Sat Dec 14 20:45:52 1901 UTC isdst=0 gmtoff=0
> > > US/Eastern Mon Jan 18 03:14:07 2038 UTC = Mon Jan 18 03:14:07 2038 UTC isdst=0 gmtoff=0
> > > US/Eastern Tue Jan 19 03:14:07 2038 UTC = Tue Jan 19 03:14:07 2038 UTC isdst=0 gmtoff=0
>
> I don't know how to read this. There was another command I saw a while
> back that gave similar looking information, but actually put out something
> for 2007. But, I can't find that mesage at the moment.
>
> > That means you need to update your zoneinfo tables. You can also use
> > the date command to see if you need updating:
> >
> > date -r 1173679260
> >
> > If that prints "Mon Mar 12 02:01:00 EST 2007" you know you need to
> > update.
>
> Are you sure? I see the EST where mine says EDT, but mine gives the
> exact same date/time information as you show above outside of the EST.
>
> If I subtract out exactly one day (86400 seconds) I get:
> Sun Mar 11 01:01:00 EST 2007 which is just 59 minutes before
> the changeover.
>
> Then, if I add an hour (3600 seconds) I get:
> Sun Mar 11 03:01:00 EDT 2007
So you're saying that for dates on March 11 after 2AM, you get EDT, but
on March 12 it's back to EST? That doesn't make sense :) I get:
$ TZ=America/New_York ; export TZ
$ date -r 1173592860
Sun Mar 11 01:01:00 EST 2007
$ date -r 1173596460
Sun Mar 11 03:01:00 EDT 2007
$ date -r 1173679260
Mon Mar 12 02:01:00 EDT 2007
$
> So, I would expect the non-updated system to give:
> Mon Mar 12 01:01:00 EST 2007
Yes, that's what a system without the updated zoneinfo should print, I
think.
> Or is something else really messed up?
> My system seems to be giving the correct current date/time.
--
Dan Nelson
dnelson at allantgroup.com
More information about the freebsd-questions
mailing list