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 + -
显示快捷键?