在C语言中,有两个获取当前时间的函数:localtime和GetLocalTime。它们在诸如对账一类的程序中应用很广。
本文对localtime和GetLocalTime进行较为详细的介绍,并举例说明它们的用法。
1.前言
在C语言中,获取当前系统时间的操作时有发生。例如,在对账程序中,需要在对账文件名中加入当天的日期及时间。一般而言,经常使用的获取当前时间的函数有两个:localtime和GetLocalTime。
本文分别介绍了localtime和GetLocalTime函数,并举例说明了它们的用法。
2. localtime和GetLocalTime函数介绍
2.1 localtime函数介绍
功能:把从1970-1-1零点零分(程序中是从1900年开始算的)到当前时间系统所偏移的秒数时间转换为日历时间。
说明:此函数获得的tm结构体的时间,已经进行过时区转化,成为了本地时间。
用法:struct tm *localtime(const time_t *clock)。
返回值:返回指向tm结构体的指针。
tm结构体是time.h中定义的用于分别存储时间的各个量(年月日等)的结构体,其定义如下:
#ifndef _TM_DEFINED 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()为负 */ long int tm_gmtoff; /*指定了日期变更线东面时区中UTC东部时区正秒数或UTC西部时区的负秒数*/ const char *tm_zone; /*当前时区的名字(与环境变量TZ有关)*/ }; #define _TM_DEFINED #endif
2.2 GetLocalTime函数介绍
函数功能:该函数用来获取当地的当前系统日期和时间。
函数原型:void GetLocalTime(LPSYSTEMTIME lpSystemTime // address of system times structure);
参数说明:
lpSystemTime:指向一个用户自定义包含日期和时间信息的类型为SYSTEMTIME的变量,该变量用来保存函数获取的时间信息。
SYSTEMTIME结构体的定义如下:
typedef struct _SYSTEMTIME { WORD wYear; //年 WORD wMonth; //月 WORD wDayOfWeek; //星期,0为星期日,1为星期一,2为星期二…… WORD wDay; //日 WORD wHour; //时 WORD wMinute; //分 WORD wSecond; //秒 WORD wMilliseconds; //毫秒 }SYSTEMTIME,*PSYSTEMTIME;
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索函数
, 时间
, localtime
, 对账
, 区间
, 时区函数
, 区间取值
, 当前
, c语言define的用法
, 时间区间
夏令时
getlocaltime、getlocaltime c、getlocaltime 头文件、c hook getlocaltime、getlocaltime linux,以便于您获取更多的相关知识。