C语言获当地时间
代码如下:
#include <stdio.h> #include <time.h> #define DEBUGE 1 int main(void) { time_t rawtime; struct tm *timeinfo; time(&rawtime); //printf("%d\n", (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结构中的信息转换成真实世界所使用的
时间日期表示方法.然后将结果以字符串开形式返回.
posted on 2014-03-16 21:41 Stomach_ache 阅读(156) 评论(0) 编辑 收藏 举报