[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: TZ, tzconfig, /etc/timezone



On Tue, 4 Apr 2006 14:24:54 +0400
Иван Лох <loh@1917.com> wrote:

> On Tue, Apr 04, 2006 at 12:47:29PM +0300, Vladimir Zolotykh wrote:
> > On Tue, 4 Apr 2006 11:52:50 +0400
> > Иван Лох <loh@1917.com> wrote:
> > > date 
> > 
> > А может быть так что date выводит правильно, но с daylight savings time 
> > какие-то проблемы, т.е. каких-то данных о том когда переводить время
> > на летнее и с летнего на зимнее все-таки не хватает?
> 
> Если в tzfile есть ошибка или он неактуальный, только.
> 
> Если очень надо убедиться, что ее нет, то просто переставь дату
> на "сомнительную" разница между date --utc и date будет разная.
Думаю что так надежнее:
$ cat time.c
#include <stdio.h>
#include <time.h>

main()
{
  struct tm s, tm2;
  time_t time1, time2;

  /* In the EU Summer time begins at 1:00 a.m. (3:00 a.m. local time)
     UTC It begins the last Sunday in March, e.g. March 26 this
     year */

  bzero(&s, sizeof(s));

  /* Summer time didn't begin yet */
  s.tm_sec = 59;
  s.tm_min = 59;
  s.tm_hour = 2;
  s.tm_mday = 26;
  s.tm_mon = 2;		/* 2 means March */
  s.tm_year = 2006 - 1900;

  time1 = mktime(&s);
  printf("s.tm_isdst=%d\n", s.tm_isdst);

  bzero(&s, sizeof(s));
  /* Summer time has just began. */

  s.tm_sec = 0;
  s.tm_min = 0;
  s.tm_hour = 3;
  s.tm_mday = 26;
  s.tm_mon = 2;
  s.tm_year = 2006 - 1900;

  time1 = mktime(&s);
  printf("s.tm_isdst=%d\n", s.tm_isdst);
}
$ ./time
s.tm_isdst=0
s.tm_isdst=1
$ 
> 
> -- 
> Иван Лох
> 
> 
> -- 
> To UNSUBSCRIBE, email to debian-russian-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
> 


-- 
Vladimir Zolotykh



Reply to: