本文主要是介绍unix time stamp(时间戳)和常规时间相互转换的C++代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
先来扫盲一下: unix time stamp翻译为时间戳, 就是从1970年1月1日00:00::00以来的秒数。
从unix time stamp到常规时间:
#include <iostream>#include <ctime>using namespace std;void unixTime2Str(int n, char strTime[], int bufLen){ struct tm tm = *localtime((time_t *)&n); strftime(strTime, bufLen - 1, "%Y-%m-%d %H:%M:%S", &tm); strTime[bufLen - 1] = '\0';}int main(void){ char strTime[100] = {0}; int now = 1444401700; unixTime2Str(now, strTime, sizeof(strTime)); cout << strTime << endl; return 0;}
结果为:2015-10-09 22:41:40 再看常规时间到unix stamp time的转换:
#include <iostream>#include <ctime>using namespace std;time_t strTime2unix(char timeStamp[]){ struct tm tm; memset(&tm, 0, sizeof(tm)); sscanf(timeStamp, "%d-%d-%d %d:%d:%d", &tm.tm_year, &tm.tm_mon, &tm.tm_mday, &tm.tm_hour, &tm.tm_min, &tm.tm_sec); tm.tm_year -= 1900; tm.tm_mon--; return mktime(&tm);}int main(){ char timeStamp[100] = "2015-10-09 22:41:40"; time_t t = strTime2unix(timeStamp); cout << t << endl; // additional cout << ctime(&t) << endl; return 0;}
结果为: 1444401700
Fri Oct 09 22:41:40 2015
OK, 无需多说。
给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
这篇关于unix time stamp(时间戳)和常规时间相互转换的C++代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!