日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++CTime使用方法

發布時間:2025/4/16 c/c++ 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++CTime使用方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  函數: ctime   功 能: 把日期和時間轉換為字符串   用 法: char *ctime(const time_t *time);   程序例:   #include <cstdio>   #include <ctime>   int main(void)   {   time_t t;   t=time(&t);   printf("Today's date and time: %s\n", ctime(&t));   return 0;   }   注:若在linux下使用本函數,需要include <time.h>頭文件   --------------------------------------------------------------------------------------------------------------------   類: CTime()   創建CTime對象, 使他的時間為當前時間。   類函數:   GetMinute() 得到分鐘.   GetSecond() 得到秒;   GetHour() 得到小時;   GetDay() 得到 CTime持有的"天" ;   GetMonth() 得到月;   GetDayOfWeek() 得到 CTime持有的"天"是一星期中的那一天 ;   GetYear() 得到年;   GetTime() 返回用 __time32_t 表示的時間;   在VC6下只支持到2039年,也就是2的32次方秒   例:   CTime T;   int year;   T=CTime(2008,8,8,8,8,8); //設置時間為2008年8月8號8時8分8秒   //或者 CTime T =CTime::GetCurrentTime(); //設置為當前時間   year=t.GetYear(); //獲取年份   =====================================================================   C++中,CTime 與 CString轉換   CTime m_StartTime1 = CTime::GetCurrentTime();   CString csStartTime = m_StartTime1.Format( "%Y%m%d%H%M%S" );   一.將CString轉為CTime的幾種方法   CString timestr = "2000年04月05日";   int a,b,c ;   sscanf(timestr.GetBuffer(timestr.GetLength()),"%d年%d月%d日",&a,&b,&c);   CTime time(a,b,c,0,0,0);   --------or - ---------------------   CString s("2001-8-29 19:06:23");   int nYear, nMonth, nDate, nHour, nMin, nSec;   sscanf(s, "%d-%d-%d %d:%d:%d", &nYear, &nMonth, &nDate, &nHour, &nMin, &nSec);   CTime t(nYear, nMonth, nDate, nHour, nMin, nSec);   ---- or ------------------------   CString timestr = "2000年04月05日";   int year,month,day;   BYTE tt[5];   //get year   memset(tt, 0, sizeof(tt));   tt[0] = timestr[0];   tt[1] = timestr[1];   tt[2] = timestr[2];   tt[3] = timestr[3];   year= atoi((char *)tt);   //get month   memset(tt, 0, sizeof(tt));   tt[0] = timestr[6];   tt[1] = timestr[7];   month = atoi((char *)tt);   //get day   memset(tt, 0, sizeof(tt));   tt[0] = timestr[10];   tt[1] = timestr[11];   CTime time(year,month,day,0,0,0);   從上面來看,很明顯使用sscanf()函數的優勢.   二.將CTIme轉換為CString的方法:   CTime tmSCan = CTime::GetCurrentTime();   CString szTime = tmScan.Format("'%Y-%m-%d %H:%M:%S'");   這樣得到的日期時間字符串就是以"2006-11-27 23:30:59"的格式.這是不是很方便呢?   //取得CTime中的日期   CString cstrDate = tmScan.Format("%Y-%m-%d");   //取得CTime中的時間   CString cstrTime = tmScan.Format("%H:%M-%S");   sprintf還有個不錯的表妹:strftime,專門用于格式化時間字符串的,用法跟她表哥很像,也是一大堆格式控制符,只是畢竟小姑娘家心細,她還要調用者指定緩沖區的最大長度,可能是為了在出現問題時可以推卸責任吧。這里舉個例子:   更多更好的sprintf()函數說明參考:《spirntf,你知道多少?》   time_t t = time(0);   //產生"YYYY-MM-DD hh:mm:ss"格式的字符串。   char s[32];   strftime(s, sizeof(s), "%Y-%m-%d %H:%M:%S", localtime(&t));   sprintf在MFC中也能找到他的知音:CString::Format,strftime在MFC中自然也有她的同道:CTime::Format,這一對由于從面向對象哪里得到了贊助,用以寫出的代碼更覺優雅

轉載于:https://www.cnblogs.com/owenyang/archive/2012/08/28/3579114.html

總結

以上是生活随笔為你收集整理的C++CTime使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。