#define _DAY1 (24uL*60uL*60uL)
struct tm _FAR *  Mlocaltime(const time_t _FAR *ptime)
{
struct tm _FAR * ptm;
unsigned long t=*ptime;
int add=0;
   if(t>=(47847uL*_DAY1) ){add+=40;t-=14609uL*_DAY1;}/*2101N`    */
   if(t>=(47482uL*_DAY1) ){add+= 6;t-= 2191uL*_DAY1;}/*2100N      */
while(t>=(24837uL*_DAY1) ){add+=28;t-=10227uL*_DAY1;}/*2038`2099N*/
 ptm=localtime((time_t *)&t);
 ptm->tm_year+=add;
return ptm;
}

