4£®ÓëÈÕÆÚºÍʱ¼äÏà¹ØµÄº¯Êý¼°Ó¦ÓÃ
ÔÚ±¾½Ú£¬ÎÒ½«Ïò´ó¼ÒչʾÔõÑùÀûÓÃtime.hÖÐÉùÃ÷µÄº¯Êý¶Ôʱ¼ä½øÐвÙ×÷¡£ÕâЩ²Ù×÷°üÀ¨È¡µ±Ç°Ê±¼ä¡¢¼ÆËãʱ¼ä¼ä¸ô¡¢ÒÔ²»Í¬µÄÐÎʽÏÔʾʱ¼äµÈÄÚÈÝ¡£
4.1 »ñµÃÈÕÀúʱ¼ä
ÎÒÃÇ¿ÉÒÔͨ¹ýtime()º¯ÊýÀ´»ñµÃÈÕÀúʱ¼ä£¨Calendar Time£©£¬ÆäÔÐÍΪ£º
time_t time(time_t * timer);
Èç¹ûÄãÒѾÉùÃ÷Á˲ÎÊýtimer£¬Äã¿ÉÒÔ´Ó²ÎÊýtimer·µ»ØÏÖÔÚµÄÈÕÀúʱ¼ä£¬Í¬Ê±Ò²¿ÉÒÔͨ¹ý·µ»ØÖµ·µ»ØÏÖÔÚµÄÈÕÀúʱ¼ä£¬¼´´ÓÒ»¸öʱ¼äµã£¨ÀýÈ磺1970 Äê1ÔÂ1ÈÕ0ʱ0·Ö0Ã룩µ½ÏÖÔÚ´ËʱµÄÃëÊý¡£Èç¹û²ÎÊýΪ¿Õ£¨NUL£©£¬º¯Êý½«Ö»Í¨¹ý·µ»ØÖµ·µ»ØÏÖÔÚµÄÈÕÀúʱ¼ä£¬±ÈÈçÏÂÃæÕâ¸öÀý×ÓÓÃÀ´ÏÔʾµ±Ç°µÄÈÕÀúʱ¼ä£º
#include "time.h"
#include "stdio.h"
int main(void)
{
struct tm *ptr;
time_t lt;
lt =time(NUL);
printf("The Calendar Time now is %d\n",lt);
return 0;
}
ÔËÐеĽá¹ûÓ뵱ʱµÄʱ¼äÓйأ¬ÎÒµ±Ê±ÔËÐеĽá¹ûÊÇ£º
The Calendar Time now is 1122707619
ÆäÖÐ1122707619¾ÍÊÇÎÒÔËÐгÌÐòʱµÄÈÕÀúʱ¼ä¡£¼´´Ó1970Äê1ÔÂ1ÈÕ0ʱ0·Ö0Ãëµ½´ËʱµÄÃëÊý¡£
4.2 »ñµÃÈÕÆÚºÍʱ¼ä
ÕâÀï˵µÄÈÕÆÚºÍʱ¼ä¾ÍÊÇÎÒÃÇÆ½Ê±Ëù˵µÄÄê¡¢Ô¡¢ÈÕ¡¢Ê±¡¢·Ö¡¢ÃëµÈÐÅÏ¢¡£´ÓµÚ2½ÚÎÒÃÇÒѾ֪µÀÕâЩÐÅÏ¢¶¼±£´æÔÚÒ»¸öÃûΪtmµÄ½á¹¹ÌåÖУ¬ÄÇôÈçºÎ½«Ò»¸öÈÕÀúʱ¼ä±£´æÎªÒ»¸ötm½á¹¹µÄ¶ÔÏóÄØ£¿
ÆäÖпÉÒÔʹÓõĺ¯ÊýÊÇgmtime()ºÍlocaltime()£¬ÕâÁ½¸öº¯ÊýµÄÔÐÍΪ£º
struct tm * gmtime(const time_t *timer);
struct tm * localtime(const time_t * timer);
ÆäÖÐgmtime()º¯ÊýÊǽ«ÈÕÀúʱ¼äת»¯ÎªÊÀ½ç±ê׼ʱ¼ä£¨¼´¸ñÁÖÄáÖÎʱ¼ä£©£¬²¢·µ»ØÒ»¸ötm½á¹¹ÌåÀ´±£´æÕâ¸öʱ¼ä£¬¶ølocaltime()º¯ÊýÊǽ«ÈÕÀúʱ¼äת»¯Îª±¾µØÊ±¼ä¡£±ÈÈçÏÖÔÚÓÃgmtime()º¯Êý»ñµÃµÄÊÀ½ç±ê׼ʱ¼äÊÇ2005Äê7ÔÂ30ÈÕ7µã18·Ö20Ã룬ÄÇôÎÒÓÃlocaltime()º¯ÊýÔÚÖйúµØÇø»ñµÃµÄ±¾µØÊ±¼ä»á±ÈÊÀ½ç±ê׼ʱ¼äÍí8¸öСʱ£¬¼´2005Äê7ÔÂ30ÈÕ15µã18·Ö20Ãë¡£ÏÂÃæÊǸöÀý×Ó£º
#include "time.h"
#include "stdio.h"
int main(void)
{
struct tm *local;
time_t t;
t=time(NUL);
local=localtime(&t);
printf("Local hour is: %d\n",local->tm_hour);
local=gmtime(&t);
printf("UTC hour is: %d\n",local->tm_hour);
return 0;
}
ÔËÐнá¹ûÊÇ£º
Local hour is: 15
UTC hour is: 7
4.3 ¹Ì¶¨µÄʱ¼ä¸ñʽ
ÎÒÃÇ¿ÉÒÔͨ¹ýasctime()º¯ÊýºÍctime()º¯Êý½«Ê±¼äÒԹ̶¨µÄ¸ñʽÏÔʾ³öÀ´£¬Á½Õߵķµ»ØÖµ¶¼ÊÇchar*Ð͵Ä×Ö·û´®¡£·µ»ØµÄʱ¼ä¸ñʽΪ£º
ÐÇÆÚ¼¸ ÔÂ·Ý ÈÕÆÚ Ê±:·Ö:Ãë Äê\n\0
ÀýÈ磺Wed Jan 02 02:03:55 1980\n\0
ÆäÖÐ\nÊÇÒ»¸ö»»Ðзû£¬\0ÊÇÒ»¸ö¿Õ×Ö·û£¬±íʾ×Ö·û´®½áÊø¡£ÏÂÃæÊÇÁ½¸öº¯ÊýµÄÔÐÍ£º
char * asctime(const struct tm * timeptr);
char * ctime(const time_t *timer);
ÆäÖÐasctime()º¯ÊýÊÇͨ¹ýtm½á¹¹À´Éú³É¾ßÓй̶¨¸ñʽµÄ±£´æÊ±¼äÐÅÏ¢µÄ×Ö·û´®£¬¶øctime()ÊÇͨ¹ýÈÕÀúʱ¼äÀ´Éú³Éʱ¼ä×Ö·û´®¡£ÕâÑùµÄ»°£¬ asctime£¨£©º¯ÊýÖ»ÊǰÑtm½á¹¹¶ÔÏóÖеĸ÷¸öÓòÌʱ¼ä×Ö·û´®µÄÏàӦλÖþÍÐÐÁË£¬¶øctime£¨£©º¯ÊýÐèÒªÏȲÎÕÕ±¾µØµÄʱ¼äÉèÖ㬰ÑÈÕÀúʱ¼äת»¯Îª±¾µØÊ±¼ä£¬È»ºóÔÙÉú³É¸ñʽ»¯ºóµÄ×Ö·û´®¡£ÔÚÏÂÃæ£¬Èç¹ûtÊÇÒ»¸ö·Ç¿ÕµÄtime_t±äÁ¿µÄ»°£¬ÄÇô£º
printf(ctime(&t));
µÈ¼ÛÓÚ£º
struct tm *ptr;
ptr=localtime(&t);
printf(asctime(ptr));
ÄÇô£¬ÏÂÃæÕâ¸ö³ÌÐòµÄÁ½ÌõprintfÓï¾äÊä³öµÄ½á¹û¾ÍÊDz»Í¬µÄÁË£¨³ý·ÇÄ㽫±¾µØÊ±ÇøÉèΪÊÀ½ç±ê׼ʱ¼äËùÔÚµÄÊ±Çø£©£º
#include "time.h"
#include "stdio.h"
int main(void)
{
struct tm *ptr;
time_t lt;
lt =time(NUL);
ptr=gmtime(<);
printf(asctime(ptr));
printf(ctime(<));
return 0;
}
ÔËÐнá¹û£º
Sat Jul 30 08:43:03 2005
Sat Jul 30 16:43:03 2005
4.4 ×Ô¶¨Òåʱ¼ä¸ñʽ
ÎÒÃÇ¿ÉÒÔʹÓÃstrftime£¨£©º¯Êý½«Ê±¼ä¸ñʽ»¯ÎªÎÒÃÇÏëÒªµÄ¸ñʽ¡£ËüµÄÔÐÍÈçÏ£º
size_t strftime(
char *strDest,
size_t maxsize,
const char *format,
const struct tm *timeptr
);
ÎÒÃÇ¿ÉÒÔ¸ù¾ÝformatÖ¸Ïò×Ö·û´®ÖиñʽÃüÁî°ÑtimeptrÖб£´æµÄʱ¼äÐÅÏ¢·ÅÔÚstrDestÖ¸ÏòµÄ×Ö·û´®ÖУ¬×î¶àÏòstrDestÖдæ·Åmaxsize¸ö×Ö·û¡£¸Ãº¯Êý·µ»ØÏòstrDestÖ¸ÏòµÄ×Ö·û´®ÖзÅÖõÄ×Ö·ûÊý¡£
![nixsky[www.nixsky.com]](/templets/images/toplogo.gif)

