歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

Linux 下的時間函數

做數據庫讀寫操作,文件操作,數據傳輸,經常需要手動打時間標記,獲取時間的函數自然要了然於心。

time_t 這個類型就是用來存儲1970年到現在經過了多少秒,需要更精確一些,可以用timeval,它精確到微秒。

  1. struct timeval  
  2. {  
  3.     long tv_sec;  //second   
  4.     long ttv_usec; // micro second   
  5. };  
而time_t 則是一個long類型。
  1. #ifndef __TIME_T   
  2. #define __TIME_T   
  3.     typedef long     time_t;    
  4. #endif  
直接存儲年月日的是這樣一個結構:
  1. struct tm  
  2. {  
  3.     int tm_sec;  
  4.     int tm_min;  
  5.     int tm_hour;  
  6.     int tm_mday;  
  7.     int tm_mon;  
  8.     int tm_year;  //從1900到現在的年數   
  9.     int tm_wday;  //一周中的第幾天    
  10.     int tm_yday;   //今年1月1日到目前的天數,范圍0-365   
  11.     int tm_isdst;  //日光節約時間的旗標   
  12. };  

時間函數包含在如下頭文件中:

#include<time.h>

  1. #include <time.h>   
  2. char *asctime(const struct tm* timeptr);   //將結構中的信息轉換為真實世界的時間,以字符串的形式顯示   
  3. char *ctime(const time_t *timep);    //將timep轉換為真是世界的時間,以字符串顯示,它和asctime不同就在於傳入的參數形式不一樣   
  4. double difftime(time_t time1, time_t time2);   //返回兩個時間相差的秒數   
  5. int gettimeofday(struct timeval *tv, struct timezone *tz);  //返回當前距離1970年的秒數和微妙數,後面的tz是時區,一般不用   
  6. struct tm* gmtime(const time_t *timep);   //將time_t表示的時間轉換為沒有經過時區轉換的UTC時間,是一個struct tm結構指針   
  7. stuct tm* localtime(const time_t *timep);   //和gmtime類似,但是它是經過時區轉換的時間。   
  8. time_t mktime(struct tm* timeptr);   //將struct tm 結構的時間轉換為從1970年至今的秒數   
  9. time_t time(time_t *t);     //取得從1970年1月1日至今的秒數。  
Copyright © Linux教程網 All Rights Reserved