struct tm *tmnow;
structtimeval tv;
gettimeofday(&tv,NULL);//获得当前的秒数和微妙
tmnow =localtime(&tv.tv_sec);//把当前的秒数转换成一种时间格式
eric_print("build time:"__DATE__" "__TIME__"
");
{
2013/09/22 15:09:09:965705 build time :Sep 52013 19:26:26
2013/09/22 15:09:09:965800 2013/09/22 15:09:09:965812 rjrm.c200
2013/09/22 15:09:09:971377 bind port 8551
2013/09/22 15:09:09:971414 socket created
2013/09/22 15:09:09:971435 binded
2013/09/22 15:09:09:971453 begin listen port 8551
}
#define eric_print(...){print_current_time(); printf(__VA_ARGS__);}
inline void print_current_time(void)
{
struct tm*tmnow;
structtimeval tv;
gettimeofday(&tv,NULL);
tmnow =localtime(&tv.tv_sec);
printf("d/d/d d:d:d:ld ",
tmnow->tm_year+1900, tmnow->tm_mon+1,tmnow->tm_mday,tmnow->tm_hour,
tmnow->tm_min, tmnow->tm_sec,tv.tv_usec);
}
一、 gmtime和localtime前后使用会有影响
#include
#include
int main(int argc, char **argv)
{
time_t now;
struct tm *tmutc, *tmlocal;
time(&now);
tmutc = gmtime(&now);
tmlocal = localtime(&now);
printf("%s标准时间为: %s",tmutc->tm_zone, asctime(tmutc));
printf("%s时间为: %s",tmlocal->tm_zone, asctime(tmlocal));
return 0;
}
*******************************************
CST标准时间为: Tue Jan 31 09:23:17 2012
CST时间为: Tue Jan 31 09:23:17 2012
******************************************
二、 gmtime和localtime分开使用
#include
#include
int main(int argc, char **argv)
{
time_t now;
struct tm *tmutc, *tmlocal;
time(&now);
tmutc =gmtime(&now);
printf("%s标准时间为: %s",tmutc->tm_zone, asctime(tmutc));
tmlocal =localtime(&now);
printf("%s时间为: %s",tmlocal->tm_zone, asctime(tmlocal));
return 0;
}
*************************************************
GMT标准时间为: Tue Jan 31 01:24:40 2012
CST时间为: Tue Jan 31 09:24:40 2012
************************************************