title: Linux下获取标准时间
date: 2019-08-04 10:50:19
tags: Linux
categories: Linux
从一个标准时间点到此时的时间经过的秒数来表示的时间。这个标准时间点对不同的系统会有所不同,在Linux系统中,时间是从1970年1月1日00:00:00这个时间点起算的。
1、获取从标准时间点到现在经过的秒数
函数原型 | time_t time(time_t *t); |
---|
头文件 | #inlcude <time.h> |
功能 | 计算从时间点到现在经过的秒数 |
返回值、参数 | 从标准时间点到现在经过的秒数 |
2、获取国际标准时间
函数原型 | struct tm *gmtime(const time_t *timep); |
---|
参数 | 标准时间点到现在经过的 秒数,即上面函数的返回值 |
返回值 | 时间结构体指针。时间结构体的定义如下 |
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_isdst;
};
3、获取本地时间
原型 | struct tm * localtime(const time_t * timep); |
---|
参数 | 标准时间点到现在经过的 秒数,time()函数返回值 |
返回值 | 指向时间结构体的指针 |
4、示例
#include <stdio.h>
#include <time.h>
int main(void)
{
struct tm *p;
time_t n;
time_t t=time(&n);
printf("距离1970年过去%ld秒\n",n);
p=gmtime(&t);
printf("国际标准时间为:\n");
printf("%d-%d-%d,%d:%d;%d\n",1900+(p->tm_year),1+p->tm_mon,p->tm_mday,p->tm_hour,p->tm_min,p->tm_sec);
printf("本地时间为:\n");
p=localtime(&n);
printf("%d-%d-%d,%d:%d;%d\n",1900+(p->tm_year),1+p->tm_mon,p->tm_mday,p->tm_hour,p->tm_min,p->tm_sec);
return 0;
}
wa