timemng.h

来自「好记星的控件,包括button,list,对文件操作」· C头文件 代码 · 共 126 行

H
126
字号
/****************************************************************************/
/*                                                                          */
/*              Copyright (C) 2005 SHENZHEN MEIJIN CO.LTD                   */
/*                                                                          */
/* FILE NAME:   TimeMng.h                                                   */
/* MODULE NAME: TimeMng Moudule                                             */
/* DESCRIPTION: 定义了时钟及闹铃模块的相关头文件定义                        */
/****************************************************************************/
/*    DTAE       AUTHOR     VERSION                 REMARKS                 */
/* =========== ==========  =========  ======================================*/
/* 2006-1-20    gaolinhui     V1.0					create                  */
/****************************************************************************/

#ifndef _TIME_MANAGE_H_
#define	_TIME_MANAGE_H_

#define TIM_YEARMAX		2082		//定义能表示的最大年份
#define TIM_YEARMIN		1930		//定义能表示的最小年份
#define STARTYEAR       1930
#define STARTMONTH      1
#define STARTDAY        1
#define STARTWEEKDAY    3			/* 1930.01.01 ----Week */

//定义时间结构
typedef	struct tag_TimeTpye
{
	UINT8	byHour;				//小时
	UINT8	byMinute;			//分钟
	UINT8	bySecond;			//秒
	UINT8   padding;
}TimeType;

//定义日期结构
typedef	struct tag_DateType
{
	UINT16	wYear;				//年
	UINT8   byMonth;			//月
	UINT8	byDay;				//日
}DateType;

//定义日期时间结构
typedef	struct tag_DateTime
{
	UINT16	wYear;				//年
	UINT8	byMonth;			//月
	UINT8	byDay;				//日
	UINT8	byWeek;				//星期
	UINT8	byHour;				//小时
	UINT8	byMinute;			//分钟
	UINT8	bySecond;			//秒
	UINT16	byMilliSecond;		//毫秒
	UINT8   padding[2];
}DateTime;


//定义闹铃系统文件的路径
#define	 ALARM_SYS_FILE		"A:/SYSTEM/AlarmSys.ini"
//定义闹铃文件的相应数据结构
#define ALARM_FILE_TAG		"<MEIJINALM>"
//定义闹铃的类型
#define ALARM_TYPE_ONCE		0
#define ALARM_TYPE_DAY		1

typedef struct tag_AlarmItem					
{
	UINT8	byAlarmType;			//闹铃类型,比如每日闹铃,每周闹铃等
	BOOL	bActiveFlag;			//闹铃激活状态
	UINT16	wYear;					//年
	UINT8	byMonth;				//月
	UINT8	byDay;					//日
	UINT8	byHour;					//小时
	UINT8	byMinute;				//分钟
	UINT8	aMsg[30];				//提示信息
}AlarmItem;


//初始化时钟模块
BOOL	TimMngInitial(void);
//设置时间
BOOL	TimSetTime(TimeType* pTime);
//设置日期
BOOL	TimSetDate(DateType* pDate);
//获取时间
BOOL	TimGetTime(TimeType* pTime);
//获取日期	
BOOL	TimGetDate(DateType* pDate);
//当前系统时钟时间是否为闹铃时间.
BOOL	IsAlarmArrive(VOID);
//获取闹钟的时间
VOID	TimGetAlarmTime(TimeType *pTime);
//获取闹钟的日期
VOID	TimGetAlarmDate(DateType *pDate);
//返回闹钟个数
UINT8	TimGetAlarmNumber(VOID);
//设置闹铃无效
VOID	TimDisableAlarm(VOID);
//设置闹铃有效
VOID	TimEnableAlarm(VOID);

//获取闹铃提示信息buffer
UINT8* GetAlarmMsgBuffer(VOID);
//搜索闹铃文件中举例系统时间最近的闹铃
UINT	TimSearchAlarm(DateType* pDate,TimeType* pTime, UINT8* pMsgBuf);
//更新设置系统闹铃(根据闹铃文件更新)
VOID	TimUpdateAlarm(VOID);


//判断是否为闰年
BOOL TimCheckLeapYear(UINT16 year);
//返回该月的天数
UINT8 TimDaysInMonth(UINT8 month, UINT16 year);
//比较两个时间大小
INT8 TimTimeCompare(TimeType *pTime1, TimeType *pTime2);
//比较两个日期的大小
INT8 TimDateCompare(DateType *pDate1, DateType *pDate2);
//比较两个日期时间的大小
INT8 TimDateTimeCompare(DateType *pDate1, TimeType *pTime1, DateType *pDate2, TimeType *pTime2);
//天数转化为日期
VOID TimDaysToDate(UINT16 days, DateType *pDate);
//日期转化为天数
UINT16 TimDateToDays(DateType *pDate);
//日期根据天调整
VOID TimDateAdjust(DateType *pDate, INT16 adjustment);
//计算日期对应得星期.
UINT8 TimDayOfWeek(UINT8 month, UINT8 day, UINT16 year);
#endif		//end of _TIME_MANAGE_H_

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?