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


你可能感兴趣的:(linux时间编程常用函数)