嵌入式学习时间编程
基本概念
- 日历时间:方便计算机计时,只要计时器+1就号
- 格林尼治时间:世界统一时间
- 本地时间:日常生活中人们使用的时间
核心思想是,先向计算机获取日历时间,在通过函数将日历时间转化为格林威治时间或者是本地时间。
time获取日历时间
#include
time_t time(time_t * tloc);
功能:获取日历时间,即从1970年1月1日零时零点到现在所经的秒数。
gmtime转化格林威治时间
struct tm * gmtime(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_isdst;
long int tm_gmtoff;
const char *tm_zone;
};
localtime转化本地时间
struct tm * localtime(const time_t * timep);
将日历时间转化本地时间。
asctime将tm格式时间转化为字符串
char * asctime(const struct tm * tm);
ctime将日历时间转化为本地时间字符串
char * ctime(const time_t * timep);
gettimeofday获取时间差
int gettimeofday(struct timeeval *tv, struct timezone * tz);
获取从今日凌晨到现在的时间差
struct timeeval{
int tv_sec;
int tv_usec;
}
延时执行sleep于usleep
unsigned int sleep(unsigned int seconds);
功能:使程序睡眠seconds秒
void usleep(unsigned long usec);
功能:使程序睡眠usec微秒