1樓:飄雨
比如說當前time(0)獲得的時間戳是「2013-11-10 18:15:30」的秒數,那麼解釋如下:
秒:對time(0)取餘60的秒數就是當前的秒數,即獲得秒數為30秒。
分:對time(0)取餘3600的秒數就是當前的分鐘,此時取餘3600結果為:15分鐘*60秒+30秒,若要得到分鐘,那麼將取餘3600的結果除以60即可得出分鐘,即獲得的分鐘數為15
時:對time(0)取餘(3600*24),可獲得今日零點到當前的秒數,這個秒數化為小時則要除以3600秒。
是0時區的小時數,我們北京時間所在的是東8區,所以要加上8個小時(注:比如當前的零時。
區時間是19點,加上8個小時就是27,此時想獲得北京時間那麼就得取餘24,此時是北京時。
間3點)希望這麼解釋能讓你明白!
c語言時間,怎麼把time_t型別的時間,轉化成年、月、日、時、分、秒呢?
2樓:憶琳是神
#include//c語言的標頭檔案。
#include//c語言的i/o
voidmain()
註釋:time_t是乙個在中定義好的結構體。而tm結構體的原形如下:
structtm;
srand(time(0));//設定時間種子是什麼意思(是c語言中的)
3樓:網友
因為系統的時間每次都不同,這樣可以避免每次產生的隨機數都相同。
4樓:金色潛鳥
計算機產bai生的隨機。
數du並不是真正隨機的,所以叫 偽隨zhi機數。
當「種dao子」固定時,它產版生的隨機數序列是不權變的,例如產生10個數,這10個數大小是變化的,但只要用這個種子,每次產生的這10個數序列,是一模一樣的。
用 srand(time(0));設種子,就會因時間變化,得到不同的種子,那麼隨機數序列就會變化。
time(0) 是當前時間,(精度可能是毫秒)。只要兩次跑程式啟動時間差別 超過1毫秒,兩個序列就不同了(隨機)。如果,時間差別不到1毫秒,兩個序列就沒變化。
錯誤的程式:
for (i=0;i<5;i++)
5個數不變化。
正確的程式:
srand(time(0));// 設1次種子for (i=0;i<5;i++)
5個數變化。
c語言計算時間總是為
5樓:金色潛鳥
clock() 獲取毫秒。程式執行太快,時間差為0
這是用clock() 的例子:
void example_dt_ms()
wait_ms(2000);
tick2=clock();
dt = (double) (tick2 - tick1);
printf("**********====example_dt_ms:");
printf("dt = %lf ms",dt);
精確計時間差:
用queryperformancecounter()函式返回當時時鐘讀數,計時開始用它得到開始讀數,計時結束用它得到結束讀數,兩個數相減是時間差讀數。讀數轉換為時間,要用queryperformancefrequency()函式獲得時脈頻率,讀數除以時脈頻率,得時間,單位是秒。乘1000得毫秒。
據說,這種方法比較精確。
void accurate_dt_ms()
還有一種方法是用pentium晶元彙編指令 0x0f 和 0x31,讀取時鐘計數圖章,類似queryperformancecounter()函式,計時開始和結束分別呼叫一次,得讀數差,並扣除執行一次呼叫函式消耗的額外時間。讀數差怎樣轉化成時間是個問題,如果知道cpu速度可以算得時間,如果知道時間,可以估算cpu速度。子程式 get_cpu_speed() 計算cpu的速度,單位 百萬赫。
pentium instruction "read time stamp counter".
forceinline unsigned _int64 my_clock(void)
unsigned _int64 start(void)
unsigned _int64 stop(unsigned _int64 m_start, unsigned _int64 m_overhead)
void get_cpu_speed()
c語言怎樣獲取系統當前的時間並把它儲存到定義的變數中
6樓:網友
c語言中讀取系統時間的函式為time(),其函式原型為:
#include
time_t time( time_t *
time_t就是long,函式返回從1970年1月1日(mfc是1899年12月31日)0時0分0秒,到現在的的秒數。
c語言還提供了將秒數轉換成相應的時間格式的函式:
char * ctime(const time_t *timer); //將日曆時間轉換成本地時間,返回轉換後的字串指標 可定義字串或是字元指標來接收返回值。
struct tm * gmtime(const time_t *timer); //將日曆時間轉化為世界標準時間(即格林尼治時間),返回結構體指標 可定義struct tm *變數來接收結果。
struct tm * localtime(const time_t * timer); //將日曆時間轉化為本地時間,返回結構體指標 可定義struct tm *變數來接收結果。
例:#include
void main()
時間結構體struct tm 說明:
struct tm ;
c語言10進位制轉換為2進位制使用陣列
用函式itoa 到網上查一查其用法就行了。10除2的餘數再倒數 for i 0,n 0,i for i 0 i printf d a i main for i i 0 i printf d p i printf n getch c語言問題 輸入一個十進位制數,將其轉化為二進位制數後存放在陣列中並輸出...
c語言中如何把浮點型轉換為字元型
一 抄c語言中數值型資料分為兩大類bai 整型和浮 點型du 整型 char int short long 浮點型 float 單精zhi度dao double 雙精度 二 浮點型資料轉存到字串中 char str 30 定義一個字元陣列,來儲存資料 double d 123.456 定義一個浮點型...
c語言中怎樣把內容為數字的char轉換為int
本質上char型別和int其實是同一種型別。都代表了整數型大小,轉換的話,在前面加上強制轉換符就好了,如int 之類的 內容為數復字的char,包含 0,1,2,3,4,5,6,7,8,9 共計10個字元 制。這十個字元在bai存為字元型時,其儲存du值為對應的ascii碼,而這 zhi些ascii...