免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 17551 | 回复: 12
打印 上一主题 下一主题

如何将字符串转为time_t? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-10-17 13:49 |只看该作者 |倒序浏览
ctime可以将time_t转为字符串.
有没有什么函数可以将字符串转回成time_t?
要自己写好像很麻烦了.

论坛徽章:
0
2 [报告]
发表于 2003-10-17 16:46 |只看该作者

如何将字符串转为time_t?

time_t mktime(struct tm *timeptr);
   不过还是要自己设置timeptr,^_^

论坛徽章:
0
3 [报告]
发表于 2003-10-17 18:14 |只看该作者

如何将字符串转为time_t?

那在struct tm里面只设几个行不行?还是一定要填满?那些星期什么太难算了

论坛徽章:
0
4 [报告]
发表于 2003-10-18 09:20 |只看该作者

如何将字符串转为time_t?

不需要填星期。

  1. //指定time_t类型的时间,格式化为YYYYMMDDHH24MISS型的字符串
  2. void FormatTime(time_t time1, char *szTime)
  3. {
  4.         struct tm tm1;

  5. #ifdef WIN32
  6.         tm1 = *localtime(&time1);
  7. #else
  8.         localtime_r(&time1, &tm1 );
  9. #endif
  10.         sprintf( szTime, "%4.4d%2.2d%2.2d%2.2d%2.2d%2.2d",
  11.                      tm1.tm_year+1900, tm1.tm_mon+1, tm1.tm_mday,
  12.                          tm1.tm_hour, tm1.tm_min,tm1.tm_sec);
  13. }

  14. //指定YYYYMMDDHH24MISS型的时间,格式化为time_t型的时间
  15. time_t FormatTime2(char * szTime)
  16. {
  17.         struct tm tm1;
  18.         time_t time1;

  19.         sscanf(szTime, "%4d%2d%2d%2d%2d%2d",     
  20.                      &tm1.tm_year,
  21.                      &tm1.tm_mon,
  22.                      &tm1.tm_mday,
  23.                      &tm1.tm_hour,
  24.                      &tm1.tm_min,
  25.                      &tm1.tm_sec);
  26.                
  27.         tm1.tm_year -= 1900;
  28.           tm1.tm_mon --;

  29.         tm1.tm_isdst=-1;
  30.    
  31.         time1 = mktime(&tm1);
  32.         return time1;
  33. }
复制代码

论坛徽章:
0
5 [报告]
发表于 2003-10-18 12:50 |只看该作者

如何将字符串转为time_t?

谢谢!
谢谢!

论坛徽章:
0
6 [报告]
发表于 2003-10-20 09:34 |只看该作者

如何将字符串转为time_t?

从string到tm的转换可以用sscanf来做,
  1. sscanf(sztime, "%4d%2d%2d%2d%2d%2d", &tm1.tm_year,
  2. &tm1.tm_mon, &tm1.tm_mday, &tm1.tm_hour, &tm1.tm_min,&tm1.tm_sec);
复制代码

论坛徽章:
0
7 [报告]
发表于 2003-10-20 15:09 |只看该作者

如何将字符串转为time_t?

已经封装好的函数(time)

论坛徽章:
0
8 [报告]
发表于 2003-10-20 16:34 |只看该作者

如何将字符串转为time_t?

sscanf和sprintf是一回事。

论坛徽章:
0
9 [报告]
发表于 2003-10-20 21:07 |只看该作者

如何将字符串转为time_t?

[quote]原帖由 "qjlemon"]sscanf和sprintf是一回事。[/quote 发表:
但是方向是反的

论坛徽章:
0
10 [报告]
发表于 2003-10-20 21:22 |只看该作者

如何将字符串转为time_t?

[quote]原帖由 "zjBahamout"][/quote 发表:


我没有搞懂,楼主不是说要把字符串转化成time_t结构吗?

这个不是把time_t结构转化成字符串吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP