首页 > 其他分享 >11/13位时间戳转化为标准时间

11/13位时间戳转化为标准时间

时间:2022-12-19 17:34:57浏览次数:36  
标签:11 13 clock isLeap time days month 时间 year


// TimeConvert.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <time.h>
#include <string.h>

int IsLeap(unsigned short year)
{
return ((year%4==0)&&(year%100!=0)||(year%400==0));
}

void MillSecond2LocalTime(long long time,long timezone)
{
const int monthLengths[2][13]={
{0,31,59,90,120,151,181,212,243,273,304,334,365 },
{0,31,60,91,121,152,182,213,244,274,305,335,366 }
};
const int yearLengths[2]={365,366};
int year(0),month(0),minMonth(0),maxMonth(0),days(0),clock(0),isLeap(0),day(0),hour(0),minute(0),second(0);
time/=1000;
time+=timezone*60*60;
days=time/86400;//天数
clock=time%86400;//小时数

if(clock<0)
{
clock+=86400;
days-=1;
}

if(days>=0)
{
year=days/366;
days-=year*365+(year+1)/4-(year+69)/100+(year+369)/400;

for (year=year+1970;;year++)
{
isLeap=IsLeap(year);
if(days<yearLengths[isLeap])
{
break;
}
days-=yearLengths[isLeap];
}
}
else
{
year=days/366;
days-=year*365+(year-2)/4-(year-30)/100+(year-30)/400;
for(year=year+1970-1;;year--)
{
isLeap=false;
days+=yearLengths[isLeap];
if (days>=0)
{
break;
}
}
}

minMonth=0;
maxMonth=12;
for (month=5;month<12&&month>0;month=(minMonth+maxMonth)/2)
{
if (days<monthLengths[isLeap][month])
{
maxMonth=month;
}
else if (days>=monthLengths[isLeap][month+1])
{
minMonth=month;
}
else
{
break;
}
}
days-=monthLengths[isLeap][month];
month++;
day=days+1;

hour=clock/3600;
clock=clock%3600;
minute=clock/60;
second=clock%60;

printf("%d-%02d-%02d %02d:%02d:%02d",year,month,day,hour,minute,second);

}
int main(int argc, char* argv[])
{
char *str="402395506223";
long long time;
sscanf(str,"%I64d",&time);
MillSecond2LocalTime(time,8);
}

 

方法2 :使用结构体 tm


void main()
{
struct tm *newtime;
char tmpbuf[128];
time_t lt;
lt=time( NULL );
newtime=localtime(<);
printf("%d 月 %d 日 %d 点 %d 分 %d 秒\n",newtime->tm_mon+1, newtime->tm_mday,newtime->tm_hour,newtime->tm_min,newtime->tm_sec);
}

 

 

 

 

标签:11,13,clock,isLeap,time,days,month,时间,year
From: https://blog.51cto.com/u_15917617/5953256

相关文章