C语言获当地时间

代码如下:

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


#define DEBUGE 1


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


	time(&rawtime);
	//printf("%d
", (int)rawtime);
	timeinfo = localtime(&rawtime);
	#ifdef DEBUGE
		printf("The current date/time is: %s", asctime(timeinfo));
	#endif


	return 0;
}

/*******************************************************************************
  头文件        time.h 
  ******************************************************************************
@函数名称:    localtime 
函数原型:     struct tm *localtime(const time_t *timer) 
函数功能:     返回一个以tm结构表达的机器时间信息 
函数返回:     以tm结构表达的时间,结构tm定义如下: 
struct tm 
{
 int tm_sec;     // 秒 – 取值区间为[0,59] 
 int tm_min;     // 分 - 取值区间为[0,59] 
 int tm_hour;    // 时 - 取值区间为[0,23] 
 int tm_mday;    // 一个月中的日期 - 取值区间为[1,31] 
 int tm_mon;     // 月份(从一月开始,0代表一月) - 取值区间为[0,11] 
 int tm_year;    // 年份,其值等于实际年份减去1900 
 int tm_wday;    // 星期 – 取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推 
 int tm_yday;    // 从每年的1月1日开始的天数 – 取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推 
 int tm_isdst;   // 夏令时标识符,实行夏令时的时候,tm_isdst为正。
     //不实行夏令时的进候,tm_isdst为0;不了解情况时,tm_isdst()为负。
};

  //参数说明:     timer-使用time()函数获得的机器时间 
  ******************************************************************************
      @函数名称:    time
      函数原型:     time_t   time(time_t *timer)
      函数功能:     得到机器的日历时间或者设置日历时间 
      函数返回:     机器日历时间 ,1970年1月1日0时0分0秒到现在此时的秒数
      参数说明:     timer=NULL时得到机器日历时间,timer=时间数值时,
                    用于设置日历时间,time_t是一个long类型 ,
                    
      所属文件:     <time.h>  
 *******************************************************************************


linux中还可以使用下面代码来实现:

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

int main(void)
{
   time_t t;

   time(&t);
   printf("Today's date and time: %s", ctime(&t));
   return 0;
}


ctime()函数作用:将时间和日期以字符串格式表示.
头文件:#include <time.h>
函数原型:char *ctime(const time_t *timep)
函数说明:ctime()将参数timep所指的time_t结构中的信息转换成真实世界所使用的
时间日期表示方法.然后将结果以字符串开形式返回.

原文地址:https://www.cnblogs.com/Stomach-ache/p/3703161.html