您好,登錄后才能下訂單哦!
這篇文章主要講解了“c++如何實現string與time_t互相轉換”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“c++如何實現string與time_t互相轉換”吧!
代碼如下:
#include <time.h> #include <string> #include <iostream> using namespace std; time_t string2time_t(const string string_time); string time_t2string(const time_t time_t_time); int main() { string strTime = "2014/03/28 18:25:26"; time_t time1 = string2time_t(strTime); cout<<time1<<endl; time_t time2 = time(NULL); string strNowTime = time_t2string(time2); cout<<strNowTime<<endl; getchar(); return 1; } //string 轉換為time_t 時間格式為2014/03/28 18:25:26 time_t string2time_t(const string string_time) { tm tm1; memset(&tm1, 0, sizeof(tm1)); time_t time1; sscanf_s(string_time.c_str(), "%d/%d/%d/ %d:%d:%d", &(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 -= 1; time1 = mktime(&tm1); return time1; } //time_t轉換為string 時間格式為2014/03/28 18:25:26 string time_t2string(const time_t time_t_time) { char szTime[100] = {'\0'}; tm *pTm = new tm; localtime_s(pTm, &time_t_time); //pTm = localtime(&time_t_time); pTm->tm_year += 1900; pTm->tm_mon +=1; sprintf_s(szTime, "%04d/%02d/%02d %02d:%02d:%02d", pTm->tm_year, pTm->tm_mon, pTm->tm_mday, pTm->tm_hour, pTm->tm_min, pTm->tm_sec); string strTime = szTime; delete pTm; pTm = NULL; return strTime; }
string get_time() { string timeStr; //time_t t = time(0); time_t t = time(NULL); char tmp[64]; strftime( tmp, sizeof(tmp), "%Y-%m-%d %X ",localtime(&t) );// 2017-05-16 17:00:00 timeStr = tmp; return timeStr; }
time_t convert_string_to_time_t(const std::string & time_string) { struct tm tm1; time_t time1; sscanf(time_string.c_str(), "%d-%d-%d %d:%d:%d" , &(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 --; tm1.tm_isdst=-1; time1 = mktime(&tm1); return time1; }
感謝各位的閱讀,以上就是“c++如何實現string與time_t互相轉換”的內容了,經過本文的學習后,相信大家對c++如何實現string與time_t互相轉換這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。