1. 程式人生 > >時間轉unix時間戳

時間轉unix時間戳

#include <stdio.h>
static int Leap_MonthDay[12]={0,31,60,91,121,152,182,213,244,274,305,335};
static int NoLeap_MonthDay[12]={0,31,59,90,120,151,181,212,243,273,304,334};
int Time2Tick(int year,int month,int day,int hour,int min,int sec)
{
int p_ticks;
int p_leapyear,p_noleap;

p_leapyear=year/4;
p_noleap=year-p_leapyear;
if(year%4)
{
printf("no leap");
p_ticks=(p_leapyear*366+p_noleap*365+NoLeap_MonthDay[month-1]+day)*24*3600+hour*3600+min*60+sec+946656000;
}
else
{
printf("leap");
p_ticks=(p_leapyear*366+p_noleap*365+Leap_MonthDay[month-1]+day-1)*24*3600+hour*3600+min*60+sec+946656000;
}
return p_ticks;
}
int main () {
int time;
time=Time2Tick(18,1,12,18,40,0);
printf("time=%d",time);
return 0;
}