亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C語言中時間的基本用法小結

2020-05-23 13:53:36
字體:
來源:轉載
供稿:網友

前言

在我學的這些編程語言中,總是記不住它們的時間處理方式,每次用到時都要重新看,所以想著在這里記錄下來,也方便用到時查找,也方便有需要的朋友們參考。

time_t和struct tm

在C語言中用time_t類型表示一個時間,通常它是一個和long一樣長的整數,也就是說,在32位環境下,它是4字節,在64位環境下,它是8字節。它保存的就是一個整數值,表示了從1970-01-01 08:00:00到其所表示時間的秒數,它是一個非負整數,所以,time_t無法表示早于1970-01-01 08:00:00的時間。

一個很常用的函數就是time_t time(time_t *_v) ,它的參數是一個time_t類型的指針,返回一個和傳入參數相等的time_t類型值。如果time()函數的參數是0,則返回當前的時間。

現在我們已經能用C語言表示一個時間了,但是這個時間只是從某個時間開始的秒數,如何表示更詳細的時間細節呢?這就要用到struct tm類型了,它可以表示更具體的時間信息。

它一個結構體,我們就先看一下它的成員信息,一個struct tm類型包括以下成員:

  • int tm_year表示時間的年份,它的值從1900年開始算起,也就是說當其值為1的時候,表示的是1901年。因為time_t類型表示的時間范圍不早于1970年,所以這個值通常不小于70。
  • int tm_mon表示時間是幾月,它的值是0到11,0表示的是一月,而11表示的是12月。
  • int tm_mday表示時間是當前月的幾號,其值的范圍自然是根據月份不同也不相同。
  • int tm_wday表示時間是星期幾,它的值的范圍是0到6,0是星期天,1是星期一,6是星期六。
  • int tm_yday表示時間是當前年的第幾天,要注意的是1月1號是第0天。
  • int tm_hour表示時間是幾時。
  • int tm_min表示時間是幾分。
  • int tm_sec表示時間是幾秒。
  • int tm_isdst表示是否是夏令時。

localtime()

如何把一個time_t類型構造成struct tm類型呢?用struct tm *localtime(const time_t *_v)函數即可,注意參數和返回值都是指針類型。

#include <stdio.h>#include <time.h>int main(){ time_t tt = time(0); //獲取當前時間 struct tm *pst = localtime(&tt); //把time_t類型轉換為struct tm類型 printf("The year is %d./n", pst->tm_year + 1900); //別忘了要加1900 return 0;}

上述程序輸出:

The year is 2016.

mktime()

那么如何把struct tm類型轉換為time_t類型呢?就用time_t mktime(struct tm *_v)函數,注意參數是指針類型。

那么如何輸出時間呢?可以簡單的使用char *ctime(time_t *_v)函數和char *asctime(struct tm *_v)函數,要注意的是返回的字符串結尾包含換行符/n。

#include <stdio.h>#include <time.h>int main(){ struct tm st; st.tm_year = 2016 - 1900; st.tm_mon = 8; st.tm_mday = 13; st.tm_hour = 16; st.tm_min = 30; st.tm_sec = 0; st.tm_isdst = 0; time_t tt = mktime(&st); printf("%s", asctime(&st)); printf("%s", ctime(&tt)); return 0;}

上述程序輸出:

Tue Sep 13 16:30:00 2016Tue Sep 13 16:30:00 2016

我們自己用struct tm構造了一個時間,并且在執行mktime()函數后,tm_wday屬性也會自動計算出來。

clock()

在time.h中,還有一些其他很常用的函數,比如clock_t clock()函數,clock_t也是一個整數,是typedef long clock_t;得來的。這個函數返回程序運行到這條語句所消耗的時間。單位一般是毫秒,可以通過printf("%d/n", CLOCKS_PER_SEC);這樣確定,若輸出1000,則證明是毫秒。

我們可以方便的用它來計算程序某一段語句所消耗的時間:

#include <stdio.h>#include <time.h>int main(){ int i = 0; printf("CLOCKS_PER_SEC: %ld/n", CLOCKS_PER_SEC); long c = clock(); while(i < 1<<30) i++; printf("The while loop cost %ld./n", clock() - c); c = clock(); for(i = 0; i < 1<<30; i++); printf("The for loop cost %ld./n", clock() - c); return 0;}

上述程序輸出:

CLOCKS_PER_SEC: 1000The while loop cost 2234.The for loop cost 2206.

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家學習或者使用C語言能帶來一定的幫助,如果有疑問大家可以留言交流。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97激碰免费视频| 中文字幕日韩欧美在线视频| 欧美日韩一区二区在线播放| 欧美激情一区二区三区成人| 国内精品模特av私拍在线观看| 欧美孕妇毛茸茸xxxx| 国产精品久久久久久久av电影| 欧美国产视频日韩| 久久久久久久97| 日韩美女激情视频| 欧美性猛交xxxx乱大交极品| 国产免费亚洲高清| 欧美电影院免费观看| 国产精品都在这里| 国产成+人+综合+亚洲欧洲| 国产精品91在线| 国产一级揄自揄精品视频| 日韩中文字幕免费看| 国产suv精品一区二区| 国产精品久久久久不卡| 一区二区三区精品99久久| 成人国产精品色哟哟| 日韩av中文字幕在线| 亚洲免费av网址| 久久av资源网站| 欧美特级www| 粗暴蹂躏中文一区二区三区| 国产精品成人播放| 欧美在线性爱视频| 韩国视频理论视频久久| 久久97精品久久久久久久不卡| 777午夜精品福利在线观看| 久久久久久久久久久网站| 青青精品视频播放| 欧美电影电视剧在线观看| 岛国视频午夜一区免费在线观看| 久久亚洲电影天堂| 91色中文字幕| 久久久91精品国产| 伦理中文字幕亚洲| 668精品在线视频| 超薄丝袜一区二区| 欧美国产日韩二区| 亚洲男人天堂2019| 国产成人在线精品| 亚洲午夜精品久久久久久性色| 亚洲自拍在线观看| 国产69久久精品成人| 国模极品一区二区三区| 欧美成人免费在线观看| 91免费的视频在线播放| 欧美成人亚洲成人| 91精品在线播放| 亚洲欧洲在线播放| 91久久久久久| 热久久美女精品天天吊色| 欧美巨乳美女视频| 91精品国产高清久久久久久久久| 欧美亚洲另类激情另类| 色偷偷av一区二区三区乱| 北条麻妃久久精品| 日本sm极度另类视频| 精品成人69xx.xyz| 欧美日韩视频在线| 亚洲片在线观看| 啊v视频在线一区二区三区| 精品久久久久久中文字幕大豆网| 91精品久久久久久久久青青| 日韩av不卡电影| 国产精品成人一区二区| 在线精品播放av| 日本精品在线视频| 色妞一区二区三区| 欧美成人午夜影院| 成人高h视频在线| 大量国产精品视频| 国产精品欧美日韩| 亚洲日韩欧美视频一区| 日韩亚洲欧美中文在线| 欧美最猛性xxxxx亚洲精品| 97精品视频在线观看| 亚洲欧美制服中文字幕| 亚洲综合第一页| 亚洲欧美第一页| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产精品免费一区二区三区都可以| 欧美激情欧美狂野欧美精品| 久久成年人视频| 欧美一区亚洲一区| 日本视频久久久| 国产在线观看一区二区三区| 欧美激情在线观看视频| 国产999精品| 日韩av在线播放资源| 成人a免费视频| 国产suv精品一区二区三区88区| 午夜精品久久久久久久99热| 国产伊人精品在线| 亚洲天堂2020| 亚洲国产欧美一区二区三区同亚洲| 国产精品视频一区国模私拍| 欧美性xxxx极品高清hd直播| 欧美国产日韩一区二区| 91免费在线视频网站| 国产精品久久久久影院日本| 91精品免费看| 亚洲精品黄网在线观看| 精品国内产的精品视频在线观看| 欧美午夜激情在线| 亚洲男人天堂视频| 91精品综合久久久久久五月天| 欧美激情奇米色| 亚洲国产精品久久久| 久久久久久久久久久久久久久久久久av| 成人黄色影片在线| 亚洲欧美日韩精品久久奇米色影视| 色99之美女主播在线视频| 国产伦精品一区二区三区精品视频| 中文字幕在线成人| 超在线视频97| 亚洲精品国产精品久久清纯直播| 久久久亚洲成人| 精品国内亚洲在观看18黄| 欧美一区二区三区艳史| 国外日韩电影在线观看| 日韩精品一区二区三区第95| 欧美视频第一页| 国色天香2019中文字幕在线观看| 成人国产精品色哟哟| 美日韩精品免费观看视频| 亚洲影影院av| 亚洲视频电影图片偷拍一区| 国产欧美在线观看| 国产精品视频在线观看| 国产精品一区电影| 国产精品美女无圣光视频| 日韩女优人人人人射在线视频| 久久成人这里只有精品| 久久精视频免费在线久久完整在线看| 96sao精品视频在线观看| 亚洲一区亚洲二区亚洲三区| 日本亚洲欧美三级| 日韩电影视频免费| 日韩中文综合网| 69国产精品成人在线播放| 中文字幕成人精品久久不卡| 91香蕉嫩草影院入口| 岛国av一区二区| 欧美一级免费看| 精品久久在线播放| 91亚洲精品一区| 奇门遁甲1982国语版免费观看高清| 久久精品成人一区二区三区| 91免费人成网站在线观看18| 亚洲国产日韩精品在线| 欧美成年人视频| 91中文在线观看| 欧美黄色片在线观看| 欧美激情精品久久久久久变态| 国产成人精品综合| 久久久久久香蕉网| 国产亚洲综合久久| 精品一区二区三区电影| 欧美激情免费看|