c语言中 引入世界标准时间,c语言获取系统时间和世界各时区时间

#include struct {

int tm_min;

int

tm_hour;

int tm_mday;

int tm_mon;

int tm_year;

int tm_wday;

int

tm_yday;

int tm_isdst;

}tm;

void show(struct tm * timeinfo,int

j)

{

int day,hour;

if(j>0)

{

if((j+timeinfo->tm_hour)/24==1)

day=timeinfo->tm_mday+1;

else

day=timeinfo->tm_mday;

hour=(j+timeinfo->tm_hour)%24;

}

if(j==0)

{

day=timeinfo->tm_mday;

hour=(j+timeinfo->tm_hour)%24;

}

if(j<0)

{

if((j+timeinfo->tm_hour)/24<0)

day=timeinfo->tm_mday-1;

else

day=timeinfo->tm_mday;

hour=(j+timeinfo->tm_hour)%24;

}

printf

( "%4d-%02d-%02d %02d:%02d:%02d\n",1900+timeinfo->tm_year,

1+timeinfo->tm_mon,

day,hour,timeinfo->tm_min,timeinfo->tm_sec);

}

void

main ()

{

time_t timer;

struct tm * timeinfo,*ptm;

time (

&timer );//Pointer to an object of type time_t, where the time value

is stored.

timeinfo = localtime ( &timer);//返回当地时区时间

ptm =

gmtime ( &timer );//返回格林制时区时间

printf("按格式显示冰岛时间\n");

show(ptm,0);

printf("按格式显示美国凤凰城时间\n");

show(ptm,-7);

printf("按格式显示中国北京时

间\n");

show(ptm,8);

}

按格式显示冰岛时间

2009-09-24 19:26:30

按格式显

示美国凤凰城时间

2009-09-24 12:26:30

按格式显示中国北京时间

2009-09-25 03:26:30

......