C语言获取当前时间

 

#include <stdio.h>
#include <time.h>  

void main ()
{
time_t rawtime;
struct tm * timeinfo;

time ( &rawtime );
timeinfo = localtime ( &rawtime );
printf ( "\007The current date/time is: %s", asctime (timeinfo) );
  
exit(0);
}

=================
#include <time.h>  -- 必须时间函数头文件
time_t -- 时间类型(time.h 定义)
struct tm -- 时间结构time.h 定义下:
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
 
time ( &rawtime ); -- 获取时间秒计从1970年1月日起算存于rawtime
localtime ( &rawtime ); -- 转当地时间tm 时间结构
asctime ()-- 转标准ASCII时间格式:
星期 月 日 时:分:秒 年
=========================================
要格式样输出:
 printf ( "%4d-%02d-%02d %02d:%02d:%02d\n",1900+timeinfo->tm_year, 1+timeinfo->tm_mon,
timeinfo->tm_mday,timeinfo->tm_hour,timeinfo->tm_min,timeinfo->tm_sec);

直接打印tmtm_year 从1900年计算所要加1900
月tm_mon从0计算所要加1

输出到某个字符串:

//获取当地时间
char now_date[16]={'\0'};
time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
timeinfo = localtime ( &rawtime );
snprintf(now_date,16,"%04d-%02d-%02d",(1900+timeinfo->tm_year),(1+timeinfo->tm_mon),
timeinfo->tm_mday);
printf("Current date:%s\n",now_date);

 

 

posted @ 2014-04-16 14:31  随风.Geek  阅读(4421)  评论(0编辑  收藏  举报