免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: 爱随柳飘
打印 上一主题 下一主题

请教编程 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2006-03-26 11:56 |只看该作者
原帖由 mengwg 于 2006-3-25 23:19 发表
不知道是否有漏洞, 楼主自己测试看看。如果早于1970 则调整一下 for(id=1970;id<day/10000;id++) 这一句。

[code]
#include <stdio.h>

int get_day_off(int day)
{
int id,tot=0;

  for(id ...

中的" sscanf(a,"%d",&ia);
  sscanf(b,"%d",&ib); 作用是什么,这个函数的功能是???

论坛徽章:
0
22 [报告]
发表于 2006-03-26 23:01 |只看该作者
原帖由 爱随柳飘 于 2006-3-26 08:20 发表
20行就行了吗?

能不能写一下其代码?

邮箱是:wsq5676543@163.com

3Q

int GetDay(struct tm tma,struct tm tmb)
{       
        int iDay;
        time_t timea;
        time_t timeb;

        timea=mktime(&tma);
        if(-1==timea)
        {
            return -1;
        }
       
        timeb=mktime(&tmb);
        if(-1==timeb)
        {
            return -1;
        }

        iDay=(timeb-timea)/(24*60*60);
        return abs(iDay);
}

[ 本帖最后由 hkwang66 于 2006-3-26 23:16 编辑 ]

论坛徽章:
0
23 [报告]
发表于 2006-03-28 11:00 |只看该作者
int date_diff(char *date0,char *date1)
{     
        struct tm tm,tm1;
        time_t t;
        time_t t1;
        char year[5+1],mon[2+1],year1[5+1],mon1[2+1],day[2+1],day1[2+1];

        memcpy(year,date0,4);
        year[4]='\0';
        memcpy(mon,date0+4,2);
        mon[2]='\0';
        memcpy(day,date0+6,2);
        day[2]='\0';

        memcpy(year1,date1,4);
        year1[4]='\0';
        memcpy(mon1,date1+4,2);
        mon1[2]='\0';
        memcpy(day1,date1+6,2);
        day1[2]='\0';


        tm.tm_year=atoi(year) - 1900;
        tm.tm_mon=atoi(mon) - 1;
        tm.tm_mday=atoi(day);

        tm1.tm_year=atoi(year1) - 1900;
        tm1.tm_mon=atoi(mon1) -1 ;
        tm1.tm_mday=atoi(day1);   

        t=mktime(&tm);
        t1=mktime(&tm1);

        return ((atoi(year1)-atoi(year)) * 12 + (atoi(mon1)-atoi(mon))) * 30 + atoi(day1) -atoi( day);

}

论坛徽章:
0
24 [报告]
发表于 2006-03-30 04:22 |只看该作者
原帖由 cjan10000 于 2006-3-28 11:00 发表
int date_diff(char *date0,char *date1)
{     
        struct tm tm,tm1;
        time_t t;
        time_t t1;
        char year[5+1],mon[2+1],year1[5+1],mon1[2+1],day[2+1],day1[2+1];

        memcpy(year,date0,4);
        year[4]='\ ...


既然已经使用了mktime,return时还那样计算?  
t=mktime(&tm);
        t1=mktime(&tm1);

        return ((atoi(year1)-atoi(year)) * 12 + (atoi(mon1)-atoi(mon))) * 30 + atoi(day1) -atoi( day);
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP