/*
 * @Description: 工具模块-时间转换子模块
 * @Author: yangsw
 * @Date: 2021-05-20 17:39:02
 * @LastEditTime: 2022-06-06 11:01:18
 * @LastEditors: yangsw
 * @Reference: 
 */
#ifndef H_UTIL_TIME_H
#define H_UTIL_TIME_H

#include "../com/bsp/bsp_com.h"

// typedef signed char         gw_s8;
// typedef signed short        gw_s16;
// typedef signed long          gw_s32;
// //typedef signed long         gw_s64;

// typedef unsigned char       gw_u8;
// typedef unsigned short      gw_u16;
// typedef unsigned long        gw_u32;
// //typedef unsigned long       gw_u64;

gw_u32 Util_Time_Date_To_Timestamp(gw_u8 date[6]);
void Util_Time_Timestamp_To_Time(gw_u32 in_timestamp,gw_u8 *out_time);
gw_s8 Util_Time_Cal_Date(gw_u8 in_date[3],gw_s32 days,gw_u8 *out_date);
gw_u8 Util_Time_Cal_Month(gw_u8 in_date[2],gw_s16 month_num,gw_u8 *out_date);
gw_s32 Util_Time_Diff_Day(gw_u8 date1[3],gw_u8 date2[3]);
gw_s16 Util_Time_Diff_Month(gw_u8 date1[2],gw_u8 date2[2]);
gw_s32 Util_Time_Diff_Second(gw_u8 time1[3],gw_u8 time2[3]);
gw_u8 Util_Time_Add_Hour(gw_u8 in_time[6],gw_u32 hour,gw_u8 *out_time);
gw_u8 Util_Time_ValidateTime(gw_u8 u8time[6]);

#endif