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

265 篇文章 0 订阅

http://ilewen.com/questions/3990

  1. int main(int argc, char **argv)  
  2. {  
  3.     time_t t;  
  4.     t = time(NULL);  
  5.     struct tm *lt;  
  6.     int ii = time(&t);  
  7.     printf("ii = %d\n", ii);  
  8.     t = time(NULL);  
  9.     lt = localtime(&t);  
  10.     char nowtime[24];  
  11.     memset(nowtime, 0, sizeof(nowtime));  
  12.     strftime(nowtime, 24, "%Y-%m-%d %H:%M:%S", lt);  
  13.     printf("nowtime = %s\n", nowtime);  
  14.     return 1;  
  15. }  
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

  1. #include <stdio.h>   
  2. #include <time.h>   
  3. #include <string.h>   
  4. #include <stdlib.h>   
  5.   
  6. long GetTick(char *str_time)  
  7. {  
  8.     struct tm stm;  
  9.     int iY, iM, iD, iH, iMin, iS;  
  10.   
  11.     memset(&stm,0,sizeof(stm));  
  12.   
  13.     iY = atoi(str_time);  
  14.     iM = atoi(str_time+5);  
  15.     iD = atoi(str_time+8);  
  16.     iH = atoi(str_time+11);  
  17.     iMin = atoi(str_time+14);  
  18.     iS = atoi(str_time+17);  
  19.   
  20.     stm.tm_year=iY-1900;  
  21.     stm.tm_mon=iM-1;  
  22.     stm.tm_mday=iD;  
  23.     stm.tm_hour=iH;  
  24.     stm.tm_min=iMin;  
  25.     stm.tm_sec=iS;  
  26.   
  27.     /*printf("%d-%0d-%0d %0d:%0d:%0d\n", iY, iM, iD, iH, iMin, iS);*/  
  28.   
  29.     return mktime(&stm);  
  30. }  
  31.   
  32. int main()  
  33. {  
  34.     char str_time[19];  
  35.   
  36.     printf("请输入时间:"); /*(格式:2011-12-31 11:43:07)*/  
  37.   
  38.     gets(str_time);  
  39.   
  40.     printf("%ld\n", GetTick(str_time));  
  41.   
  42.     return 0;      
  43. }  
#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;    
}


 

  • 1
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值