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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

time操作

發布時間:2025/3/19 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 time操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

已有tm時間結構表示當前時間,求計算出前一天當前時間的時間結構的算法,大分相送

把tm用mktime轉化為time_t
time_t減去一天的秒數86400就得到前一天相應時間的time_t
再用gmtime轉化time_t為相應的tm時間
跨月份和跨年份的問題不用你自己考慮了


struct tm t;
// 假設t已經存好了當前的時間。
mktime(&t);
這樣就可以了。


呵呵,前一天是t.tm_mday--; 再mktime(&t);
mktime()本身就調整了t的值。

看手冊吧
time()
gettimeofday()
gmtime()
localtime()
mktime()
asctime()
ctime()
strftime()看你需要哪個了,呵呵

include <time.h>
time_t CurTime=time(NULL);
這樣就可以取得當前時間,不過需要通過其他的函數來轉換到字符串

我記得發過一次了,你自己用命令 man ctime 看看吧。
Linux下man是十分有用的,學會用它

另外time_t 實際上是一個整型從1997.1.1算起的秒數,不應該有小數點的。
直接取整,然后作為time_t來轉就好了!

得到以ASCII碼表示的時間   asctime?
得到字符串表示的時間  ??? ctime?
得到指定格式的時間  ????? strftime?


這樣能得到你要的格式【可是樓主那個時間是不是隨便舉的例子呀?我怎么1090424791.935得出的時間是2004-07-21 23:46:31呀?】:
#include <stdio.h>
#include <time.h>

int main()
{
?char timef[100];
?time_t t;
?struct tm *today;
?scanf("%ld",&t);
?today = localtime(&t);
?strftime(timef,100,"%Y-%m-%d %H:%M:%S",today);
?printf("%s/n",timef);
}

strftime
Syntax:?? #include <time.h>
? size_t strftime( char *str, size_t maxsize, const char *fmt, struct tm *time );


struct timeb {
??????? time_t time;
??????? unsigned short millitm;
??????? short timezone;
??????? short dstflag;
??????? };

#endif

typedef long time_t;

/*struct _timeb timebuffer;*/
?/*_ftime( &timebuffer );*/
?/*char *timeline;
?timeline = ctime( & ( timebuffer.time ) );
?userlog( "%s:time is %.19s.%hu %s/n", info,timeline, timebuffer.millitm, &timeline[20] );
?userlog( "%s:time is %.19s.%hu", info,timeline, timebuffer.millitm);
?*/
?/*userlog( "%s:time = %hu", info,timebuffer.millitm);*/

要計算代碼執行時間:可直接用:

clock_t(),是一個long型,注意,在unix下可能失效


?

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的time操作的全部內容,希望文章能夠幫你解決所遇到的問題。

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