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

97 篇文章 1 订阅

http://ilewen.com/questions/3990

[cpp]  view plain copy
  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. }  
[cpp]  view plain copy
  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. }  

打印:

<code><span class="pln">ii </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1325302987</span><span class="pln">
nowtime </span><span class="pun">=</span><span class="pln"> </span><span class="lit">2011</span><span class="pun">-</span><span class="lit">12</span><span class="pun">-</span><span class="lit">31</span><span class="pln"> </span><span class="lit">11</span><span class="pun">:</span><span class="lit">43</span><span class="pun">:</span><span class="lit">07</span></code>

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

[cpp]  view plain copy
  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. }  
[cpp]  view plain copy
  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. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值