时间戳和日期相互转换+检验日期合法性功能C语言
H文件
#ifndef _TIME_H_
#define _TIME_H_
#include "config.h"
#include "DisplayR300.h"
#include "DWIN_Fun.h"
#include "DWIN_UI.h"
#include <string.h>typedef struct
{u16 year; /* 定义时间:年 */u8 month; /* 定义时间:月 */u8 date; /* 定义时间:日 */u8 hour; /* 定义时间:时 */u8 minute; /* 定义时间:分 */u8 second; /* 定义时间:秒 */
}Time_Type;
typedef struct {uint8 year;uint8 month;uint8 day;uint8 hour;uint8 minute;uint8 second;
}Time_copy;
extern Time_Type tsTime;
extern Time_Type stTime;
extern void SecondToTime(u32 s_Second); /* 定义将秒转换成时间函数 */
extern u32 TimeToSecond(); /* 定义将时间转换成秒函数 */
int Test_Data(u8 year,u8 month,u8 day,u8 hour,u8 minute,u8 second);//判断日期合法性
extern u32 s_Second;
#endif
C文件
#include "DWIN_UI.h"
#include "DWIN_FUN.h"
#include "Time.h"
#include "stdio.h"
//struct DWIN_time t0,t1,t2,t3,t4,t5;//曲线下的时间显示
//char timestr[48];//存放曲线下的时间变化 一次性把时间数据发出去/*****************************************************************************************************************************
*功能:秒与时间的互相转换
* 秒转换成时间(SecondToTime()):以1970年1月1日0时0分0秒为起始时刻,将增加的秒数以起始时刻为基准计算时间(Time_Type Time)
* 时间转换成秒(TimeToSecond()):以1970年1月1日0时0分0秒为起始时刻,将设定时刻(Time_Type tsTime)以起始时刻为基准计算秒差值
*****************************************************************************************************************************/#define DayToSecond 86400 /* 一天等于86400秒 */
#define HourToSecond 3600 /* 一小时等于3600秒 */
#define MinuteToSecond 60 /* 一分钟等于60秒