回复:自编的北京时间-格林尼治时间转换的C函数

瑞琦

  • 帖子

    232
  • 精华

    2
  • 被关注

    5

论坛等级:游侠

注册时间:2006-05-13

普通 普通 如何晋级?

发布于 2006-06-04 14:36:11

0楼

不好意思,刚才一时患糊涂了,忘了直接就可以把代码贴上来。
cDateAdd(SYSTEMTIME st )
{
unsigned year,month,day,hour,minute,second;
int i,j,k;
int ysum=0,msum=0,hsum=0;
time_t timer;
struct tm *ptm;

year=st.wYear;
month=st.wMonth;
day=st.wDay;
hour=st.wHour;
minute=st.wMinute;
second=st.wSecond;

for(i=5;i<(year-2000);i++)
{ysum=ysum+365; }

for(i=5;i<(year-2000);i++)
{hsum=hsum+24;
i=i+3;
}
k=year-2000;
if((k==5)(k==9)(k==13)(k==17)(k==21)(k==25)(k==29)(k==33)(k==37)(k==41)(k==45)(k==49)(k==53)) {ysum=ysum+0;}
else if((k==57)(k==61)(k==65)(k==69)(k==73)(k==77)(k==81)(k==85)(k==89)(k==93)(k==97)(k==101)) {ysum=ysum+0;}
else {ysum=ysum-1;}

switch(month-1)
{
case 1 : msum=31; break;
case 2 : msum=59; break;
case 3 : msum=90; break;
case 4 : msum=120; break;
case 5 : msum=151; break;
case 6 : msum=181; break;
case 7 : msum=212; break;
case 8 : msum=243; break;
case 9 : msum=273; break;
case 10: msum=304; break;
case 11: msum=334; break;
}
if(month>2)
{
switch(year-2000)
{
case 8 :msum=msum+1;break;
case 12 :msum=msum+1;break;
case 16 :msum=msum+1;break;
case 20 :msum=msum+1;break;
case 24 :msum=msum+1;break;
case 28 :msum=msum+1;break;
case 32 :msum=msum+1;break;
case 36 :msum=msum+1;break;
case 40 :msum=msum+1;break;
case 44 :msum=msum+1;break;
case 48 :msum=msum+1;break;
case 52 :msum=msum+1;break;
case 56 :msum=msum+1;break;
case 60 :msum=msum+1;break;
case 64 :msum=msum+1;break;
case 68 :msum=msum+1;break;
case 72 :msum=msum+1;break;
case 76 :msum=msum+1;break;
case 80 :msum=msum+1;break;
case 84 :msum=msum+1;break;
case 88 :msum=msum+1;break;
case 92 :msum=msum+1;break;
case 96 :msum=msum+1;break;
case 100 :msum=msum+1;break;
}

}
timer=((11323+1461+ysum+msum+day-1)*24-8)*3600+hour*3600+minute*60+second+hsum*3600;

timer=timer-3600*8;
ptm=localtime(&timer);

return ptm;
}
一等二靠三落空,一想二干三成功
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32573条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。