zoukankan      html  css  js  c++  java
  • string字符串格式化成time_t,并计算2个time_t的时间差

    
    
    #include "time.h"
    #include <iostream>
    #include <string>
    using namespace std;
    
    time_t string2time(const string & time_string)
    {
    	struct tm tm1;
    	time_t time1;
    	sscanf(time_string.c_str(), "%d-%d-%d T%d:%d:%dZ" ,     
    		&(tm1.tm_year), 
    		&(tm1.tm_mon), 
    		&(tm1.tm_mday),
    		&(tm1.tm_hour),
    		&(tm1.tm_min),
    		&(tm1.tm_sec));
    
    	tm1.tm_year -= 1900;
    	tm1.tm_mon --;
    	time1 = mktime(&tm1);
    
    	return time1;
    }
    
    string double2TimeString(double dTime)
    {
    	int iHour = dTime/60/60;
    	int iMin = (dTime - iHour*60*60)/60;
    	int iSec = dTime - iHour*60*60 - iMin*60;
    	char buffer[10]; 
    	sprintf(buffer,"%02d:%02d:%02d",iHour, iMin , iSec);
    	string strTemp = buffer;
    	return strTemp;
    }
    
    int main()
    {
    	string strStartTime = "2014-08-31 T13:20:58Z";
    	string strEndTime = "2014-08-31 T15:12:32Z";
    	cout<<strStartTime<<endl;
    	cout<<strEndTime<<endl;
    	time_t tStartTime = string2time(strStartTime);
    	time_t tEndTime = string2time(strEndTime);
    	//返回两个时间相差的秒数
    	double dTime = difftime(tEndTime, tStartTime);
    	string strTime = double2TimeString(dTime);
    	cout<<"时间间隔:"<<strTime<<endl;
    	return 0;
    }
    
    

    效果图:

  • 相关阅读:
    小程序开发学习记录(一)
    解决移动端touch事件与click冲突的问题
    解决node.js使用fs读取文件出错
    防抖和节流
    promise
    ES6新的特性有哪些?
    css盒模型
    CSS3有哪些新特性?
    ES6新增的数据类型Map和Set。
    js求两个数组的交集|并集|差集|去重
  • 原文地址:https://www.cnblogs.com/qq42425328/p/3948316.html
Copyright © 2011-2022 走看看