编辑代码

#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;
}