c語言time(0)轉換為當前時間問題。

2025-07-05 11:00:30 字數 2818 閱讀 7474

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...