string 转换为 32位时间time_t

  1. //2008-12-11T13:20:09.74
  2. tm tmTmp;
  3. ZeroMemory( &tmTmp,sizeof(tm) );
  4. tmTmp.tm_year = _ttoi( lpstr );
  5. tmTmp.tm_year = (tmTmp.tm_year-1970) + 70;
  6. tmTmp.tm_mon  = _ttoi( lpstr + 5 );
  7. tmTmp.tm_mday = _ttoi( lpstr + 8 );
  8. tmTmp.tm_hour = _ttoi( lpstr + 11 );
  9. tmTmp.tm_min = _ttoi( lpstr + 14 );
  10. tmTmp.tm_sec = _ttoi( lpstr + 17 );
  11. time_t  timeTmp = mktime( &tmTmp );

如上代码:我程序中的时间为32位.所以,对年份有特殊的要求.直接放入2008会导致年份超出范围而返回-1 (在12行处).
在32位时间中范围为:1970 - 2038 ,对应的,最小为 70 ,最大为 138.

希望大家能GOOGLE到此,少些麻烦.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值