C语言 时间戳和标准格式的转换

int main(int argc, char **argv)
{
    time_t t;
    t = time(NULL);
    struct tm *lt;
    int ii = time(&t);
    printf("ii = %d\n", ii);
    t = time(NULL);
    lt = localtime(&t);
    char nowtime[24];
    memset(nowtime, 0, sizeof(nowtime));
    strftime(nowtime, 24, "%Y-%m-%d %H:%M:%S", lt);
    printf("nowtime = %s\n", nowtime);
    return 1;
}

打印:

ii = 1325302987
nowtime = 2011-12-31 11:43:07

随便输入一个标准格式的时间 “2011-12-31 11:43:07”,转换成时间戳 1325302987


#include <stdio.h>
#include <time.h>
#include <string.h>
#include <stdlib.h>

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

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

    iY = atoi(str_time);
    iM = atoi(str_time+5);
    iD = atoi(str_time+8);
    iH = atoi(str_time+11);
    iMin = atoi(str_time+14);
    iS = atoi(str_time+17);

    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 main()
{
    char str_time[19];

    printf("请输入时间:"); /*(格式:2011-12-31 11:43:07)*/

    gets(str_time);

    printf("%ld\n", GetTick(str_time));

    return 0;    
}




转自:http://ilewen.com/questions/3990

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值