linux時間編程經常使用函數

首先說明時間類型分爲兩種:編程

  • Coordinated Universal Time(UTC):世界標準時間,也就是格林威治時間(Greenwich Mean Time, GMT)
  • Calendar Time:日曆時間,從一個標準時間點(如:1970年1月1日0點)到此時通過的秒數來表示的時間。
時間獲取
#include <time.h>
time_t time<time_t *tloc>

//功能:獲取日曆時間,從1970年1月1日0點到如今所經歷的秒數

//typedef long time_t

時間轉換
struct tm *gmtime(const time_t *timep)

//功能:將日曆時間轉化爲格林威治時間,並保存至TM結構。

struct tm *localtime(const time_t *timep)

//功能將日曆時間轉化爲本地時間,並保存至TM結構

struct tm
{
	int tm_sec;		//秒值
	int tm_min;		//分鐘值
	int tm_hour;	//小時值
	int tm_mday;	//本月第幾日
	int tm_mon;		//本年第幾月
	int tm_year;	//哪一年
	int tm_wday;	//本週第幾日
	int tm_yday;	//本年第幾日
	int tm_lsdst;	//日光節約時間
}

時間顯示
char *asctime(const struct tm *tm)

//功能:將TM格式的時間轉換爲字符串。如
//Sat Jul 30 08:43:03 2010

char *ctime(const time_t *timep)

//功能:將日曆時間轉化爲本地時間的字符串形式

獲取時間
int gettimeofday(struct timeval *tv, struct timezone *tz)

//功能:獲取從今日凌晨到如今的時間差,經常使用於計算事件耗時。

struct timeval
{
	int tv_sec;		//秒數
	int tv_usec;	//微秒數	
}

延時時間
unsigned int sleep(unsigned int seconds)

//功能:使程序睡眠seconds秒

void usleep(unsigned long usec)

//功能:使程序睡眠usec微秒

下面的代碼給出一個簡單的時間編程,顯示出系統當前時間。
#include <stdio.h>
#include <time.h>

int main(void)
{
	time_t seconds;
	char *timestr;

	seconds = time(NULL);		//獲取日曆時間
	timestr = ctime(&seconds);	//日曆時間轉換爲字符串

	printf("%s\n", timestr);	//打印顯示
	
	return 0;
}

輸出爲:
Wed Dec 12 14:14:57 2012
相關文章
相關標籤/搜索