c 语言获取系统时间和世界各时区时间

来源:互联网 发布:淘宝助理不显示订单 编辑:程序博客网 时间:2024/04/30 11:05

The meaning of each is:
MemberMeaningRangetm_secseconds after the minute0-61*tm_minminutes after the hour0-59tm_hourhours since midnight0-23tm_mdayday of the month1-31tm_monmonths since January0-11tm_yearyears since 1900tm_wdaydays since Sunday0-6tm_ydaydays since January 10-365tm_isdstDaylight Saving Time flag

下面程序计算美国凤凰城 (-7),中国北京(+8),和冰岛(0)时间:

#include <stdio.h>
#include <time.h> 
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

原创粉丝点击