/*******************************************************************************
* Function Name : Time_ConvUnixToCalendar(time_t t)
* Description : 转换UNIX时间戳为日历时间
* Input : u32 t 当前时间的UNIX时间戳
* Output : None
* Return : struct tm
*******************************************************************************/
struct tm Time_ConvUnixToCalendar(time_t t)
{
struct tm *t_tm;
t_tm = localtime(&t);
t_tm->tm_year += 1900; //localtime转换结果的tm_year是相对值,需要转成绝对值
return *t_tm;
}
/*******************************************************************************
* Function Name : Time_ConvCalendarToUnix(struct tm t)
* Description : 写入RTC时钟当前时间
* Input : struct tm t
* Output : None
* Return : time_t
*******************************************************************************/
time_t Time_ConvCalendarToUnix(struct tm t)
{
t.tm_year -= 1900; //外部tm结构体存储的年份为2008格式
//而time.h中定义的年份格式为1900年开始的年份
//所以,在日期转换时要考虑到这个因素。
return mktime(&t);
}
* Function Name : Time_ConvUnixToCalendar(time_t t)
* Description : 转换UNIX时间戳为日历时间
* Input : u32 t 当前时间的UNIX时间戳
* Output : None
* Return : struct tm
*******************************************************************************/
struct tm Time_ConvUnixToCalendar(time_t t)
{
struct tm *t_tm;
t_tm = localtime(&t);
t_tm->tm_year += 1900; //localtime转换结果的tm_year是相对值,需要转成绝对值
return *t_tm;
}
/*******************************************************************************
* Function Name : Time_ConvCalendarToUnix(struct tm t)
* Description : 写入RTC时钟当前时间
* Input : struct tm t
* Output : None
* Return : time_t
*******************************************************************************/
time_t Time_ConvCalendarToUnix(struct tm t)
{
t.tm_year -= 1900; //外部tm结构体存储的年份为2008格式
//而time.h中定义的年份格式为1900年开始的年份
//所以,在日期转换时要考虑到这个因素。
return mktime(&t);
}