Unix/Linux编程-时间和日期

时间和日期

有Unix内核提供的基本时间服务是计算自协调世界时(UTC)公元1970年1月1日00:00:00这一特定时间以来经过的秒数。以数据类型time_t表示。

#include <time.h>

time_t time(time_t *calptr);

返回值:成功返回时间值,出错返回-1


时间值作为函数值返回。如果参数非空,则时间值也存放在由calptr指向的单元内。
localtime和gmtime将日历时间转换成分解的时间,并将这些存放在一个结构体中:

struct tm {

               int tm_sec;         /* seconds */

               int tm_min;         /* minutes */

               int tm_hour;        /* hours */

               int tm_mday;        /* day of the month */

               int tm_mon;         /* month */

               int tm_year;        /* year */

               int tm_wday;        /* day of the week */

               int tm_yday;        /* day in the year */

               int tm_isdst;       /* daylight saving time */

           };


#include <time.h>

struct tm * gmtime(const time_t *calptr);

struct tm *locatime(const time_t *calptr);

返回值:指向分解的tm结构的指针;出错返回NULL


localtime将日历时间转换成本地时间,而gmtime则将日历时间转换成调统一时间。

函数mktime以本地时间作为参数,将其变成time_t值。

#include <time.h>

time_t mktime(struct tm *tmptr);

返回值:成功返回日历时间,出错返回-1


strftime_l允许调用着将区域指定为参数,除此之外,strftime和strftime_l函数是相同的。

猜你喜欢

转载自blog.csdn.net/water_3700348/article/details/78330951