#include <stdio.h>
int main () {
unsigned long secTime;
unsigned short yearCnt;
unsigned char uMon=0,uDay=0,uHour,uMin,uSec;
unsigned long lDay,lSec;
unsigned long SECOND_OF_DAY=24*3600;
unsigned char DayOfMon[12]={31,28,31,30,31,30,31,31,30,31,30,31};
unsigned char Year;
unsigned char Month;
unsigned char Day;
unsigned char Hour;
unsigned char Minute;
unsigned char Second;
printf("请输入TimeStamp:");
scanf("%ld",&secTime);
yearCnt=1970+0;
lSec=secTime+8*3600;
lDay=lSec/SECOND_OF_DAY;
lSec=lSec%SECOND_OF_DAY;
for(yearCnt=1970;yearCnt<2099;yearCnt++)
{
if(lDay<=365)
{
break;
}
if(((yearCnt%4==0)&&(yearCnt%100!=0))||(yearCnt%400==0))
{
lDay-=366;
}
else
{
lDay-=365;
}
}
if((lDay==365)&&!(((yearCnt%4==0)&&(yearCnt%100!=0))||(yearCnt%400==0)))
{
lDay-=365;
yearCnt++;
}
Year=(yearCnt-2000)&0xFF;
for(uMon=0;uMon<12;uMon++)
{
if((uMon==1)&&(((yearCnt%4==0)&&(yearCnt%100!=0))||(yearCnt%400==0)))
{
uDay=29;
}
else
{
uDay=DayOfMon[uMon];
}
if(lDay>=uDay)
{
lDay-=uDay;
}
else
{
break;
}
}
uMon=uMon+1;
uDay=(lDay+1)&0xFF;
uHour=(((lSec/3600))%24)&0xFF;
uMin=((lSec%3600)/60)&0xFF;
uSec=((lSec%3600)%60)&0xFF;
Month=uMon;
Day=uDay;
Hour=uHour;
Minute=uMin;
Second=uSec;
printf("时间是:");
printf("%d-%d-%d ",Year,Month,Day);
printf("%d:%d:%d\n",Hour,Minute,Second);
printf("Hello world!");
return 0;
}