#include <time.h>
#include <stdio.h>
unsigned int GetSecond(void)
{
return time((time_t*)NULL) + 8*3600;
}
int is_leap_year(int Y)
{
if((Y%4!=0)||((Y%100==0)&&(Y%400!=0)))
{
return 0;
}
else
{
return 1;
}
}
//***********************************************
//函数功能:计算1970年1月1日00:00:00到现在时间的秒数
//入口参数:Y,M,D,h,m,s当前的年,月,日,时分,秒
//出口参数:转化后的秒数
//***********************************************
int calc_sec1970(int Y, int M, int D, int h, int m, int s)
{
int i = 0;
int sec = 0;
int days[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
for(i = 1970; i < Y; i++)
{
if(is_leap_year(i))
{
sec += 366 * 24 * 60 * 60;
}
else
{
sec += 365 * 24 * 60 * 60;
}
}
for(i = 1; i < M; i++)
{
if(i == 2 && is_leap_year(Y))
{
sec += 29 * 24 * 60 * 60;
}
else
{
sec += days[i] * 24 * 60 * 60;
}
}
sec += (D-1) * 24 * 60 * 60;
sec += h * 60 * 60 + m * 60 + s;
sec = sec - (8 * 60 * 60);
return sec;
}
int main(void)
{
printf("1970-01-01 time sec:%d",GetSecond);
int sec = calc_sec1970(2019, 6, 25, 00, 00, 00);
printf("second time:%ds\r\n", sec);
return 1;
}