time.h/mktime()

Füzesi Arnold arno at freemail.hu
Tue Feb 17 05:47:31 CET 2004


uchar mymktime(struct tm* c_tm)
{
  struct tm c_tmcpy;
  uint error;

  c_tmcpy=*c_tm;
  c_tmcpy.tm_isdst=-1;
  c_tmcpy.tm_wday=-1;
  c_tmcpy.tm_yday=-1;
//notes#1:
  mktime(&c_tmcpy);
//notes#2:
  error=c_tm->tm_year - c_tmcpy.tm_year;
  error|=c_tm->tm_mon - c_tmcpy.tm_mon;
  error|=c_tm->tm_mday - c_tmcpy.tm_mday;
  error|=c_tm->tm_hour - c_tmcpy.tm_hour;
  error|=c_tm->tm_min - c_tmcpy.tm_min;
  error|=c_tm->tm_sec - c_tmcpy.tm_sec;

  if(error)
    return 1;
  else{
    *c_tm=c_tmcpy;
    return 0;
  }
}

notes#1:
c_tmcpy datas before mktime:
sec 57
min 59
hour 23
mday 17
mon 1
year 104
wday -1
yday -1
dst -1

notes#2:
c_tmcpy datas after mktime:
sec 0
min 0
hour 0
mday 18
mon 1
year 104
wday 3
yday 48
dst -1

Ilyenkor mi van? Ezt meg miért csinálja?
Van rá magyarázat?

Arnold



More information about the Elektro mailing list