time_fun.h

来自「wince下非常精美的系统时间设置」· C头文件 代码 · 共 73 行

H
73
字号
#ifndef _TIME_FUN_H__
#define _TIME_FUN_H__

#define KEEP_UTC_TIME 1

#define TIME_LEN 6

#define BIT_DL_ON 0x01
#define BIT_DL_EN 0x02

#define BIT_NONE	0X00
#define BIT_YEAR	0X01
#define BIT_MON		0X02
#define BIT_DATE	0X04
#define BIT_HOUR	0X08
#define BIT_MIN		0X10
#define BIT_SEC		0X20
#define BIT_ZONE	0X40

#define BIT_ALL		0XFF


#define CHAR_NUM 128
#define   FILETIME_TO_MINUTES  (10 * 1000 * 1000 * 60) 

typedef struct _TimeZoneStr
{
	byte	tzi[44]; 
    TCHAR	display[CHAR_NUM];
    TCHAR	dlt[CHAR_NUM];
	TCHAR	std[CHAR_NUM];
} TIMEZONE_ITEM,*PTIMEZONE_ITEM;

typedef struct 
{
	UINT	dwZoneNum;
	DWORD	dwCurZon;
	LONG	lBias;
	UINT	bDl_Mask;
	PTIMEZONE_ITEM	pZoneItem; 
} TIMEZONES_INF,*PTIMEZONES_INF;


typedef struct  
{
	TCHAR year[TIME_LEN];
	TCHAR mon[TIME_LEN];
	TCHAR date[TIME_LEN];
	TCHAR hour[TIME_LEN];
	TCHAR min[TIME_LEN];
	TCHAR sec[TIME_LEN];
	TCHAR zone[64];
}TIME_AREA_STR,*PTIME_AREA_STR;

VOID GetTimeStr(SYSTEMTIME CurTime,SYSTEMTIME CurDate,PTIME_AREA_STR pTimeStr,BOOL b12hour);
void CalcRightTime(SYSTEMTIME &CurDate,BOOL bUp,UINT& Mask);
VOID SetDateTime(SYSTEMTIME CurTime,SYSTEMTIME CurDate);

BOOL InitZones(PTIMEZONE_ITEM* pZoneInf,UINT& num);
VOID DeInitZones(PTIMEZONE_ITEM pZoneInf);

int GetCurZone(PTIMEZONES_INF pZoneInf,PTCHAR pDisplayStr);
BOOL GetDaylightRegOn();
void SetDaylightRegOn(BOOL bDaylight);
UINT GetTagetZone(PTIMEZONES_INF pZoneInf,PTCHAR pDisplayStr,SYSTEMTIME* pSystime);
void wholeSetZone(TIME_ZONE_INFORMATION* tm,PTIMEZONE_ITEM pZones);
void SetTimeZone(PTIMEZONES_INF pZoneInf); 
UINT TimeAutoCal(TIME_ZONE_INFORMATION& timezone,SYSTEMTIME* pSystime);

BOOL Get12HourMode();
void Set12HourMode(BOOL bMode);

#endif

⌨️ 快捷键说明

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