1. 程式人生 > >Unix/Linux程式設計-時間和日期

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函式是相同的。