讲形如12/May/2012 16:19:39转化成时间戳

long GetTick( char *str_time)
{
    struct tm stm;
    int iY, iM, iD, iH, iMin, iS;

    memset(&stm,0,sizeof(stm));

    char *str1, *token;
    char *saveptr1;
    int i = 0, j = 0, conver_mon;

    for (i = 1, str1 = str_time; ; i++, str1 = NULL) {
        token = strtok_r(str1, "/,:", &saveptr1);
        if (token == NULL)
            break;
        j++;
        switch(j)
        {
            case 1:
                iD = atoi(token);
                break;
            case 2:
                conver_mon = GetMon(token);
                if(conver_mon == 0)
                {
                    printf("Invalid month!\n");
                }
                else
                {
                    iM = conver_mon;
                }
                break;

            case 3:
                iY = atoi(token);
                break;
            case 4:
                iH = atoi(token);
                break;
            case 5:
                iMin = atoi(token);
                break;
            case 6:
                iS = atoi(token);
                break;

        }

    }


    stm.tm_year=iY-1900;
    stm.tm_mon=iM-1;
    stm.tm_mday=iD;
    stm.tm_hour=iH;
    stm.tm_min=iMin;
    stm.tm_sec=iS;

    //printf("%d-%0d-%0d %0d:%0d:%0d\n", iY, iM, iD, iH, iMin, iS);

    return mktime(&stm);
}

int GetMon(char *str_mon)
{
    int month = 0;
    const char *list_mon[] = {"Jua","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
    const char *month_id      = str_mon;
    for(int i=0; i<12; i++)
    {
        if(strcmp(str_mon, list_mon[i]) == 0)
        {
            month = i+1;
            return month;
        }
    }

    return month;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值