中级会员
 
- 积分
- 277
- 金钱
- 277
- 注册时间
- 2017-3-17
- 在线时间
- 120 小时
|

楼主 |
发表于 2017-10-20 15:06:38
|
显示全部楼层
[mw_shl_code=c,true]/*****************************
*函数名:Is_leap_year
*功 能:是否闰年
*输 入:
*输 出:
*******************************/
u8 Is_leap_year(u16 year)
{
if((year%400)==0)
return 1;
else if((year%100)==0)
return 0;
else if((year%4)==0)
return 1;
return 0;
}
/*****************************
*函数名:Days_of_month
*功 能:每月天数
*输 入:
*输 出:
*******************************/
u8 Days_of_month(u16 year,u8 month)
{
if (month != 2) {
return day_per_mon[month - 1];
} else {
return day_per_mon[1] + Is_leap_year(year);
}
}
/*****************************
*函数名:utc_sec
*功 能:获取unix时间戳
*输 入:
*输 出:
*******************************/
u32 utc_sec(void)
{
u8 i;
u16 days=0;//天数
u32 secs; //秒数
RTC_TimeTypeDef RTC_TimeStruct;
RTC_DateTypeDef RTC_DateStruct;
RTC_GetTime(RTC_Format_BIN,&RTC_TimeStruct);
RTC_GetDate(RTC_Format_BIN,&RTC_DateStruct);
/* year */
for(i=UTC_BASE_YEAR;i<RTC_DateStruct.RTC_Year;i++)
days+=(DAY_PER_YEAR+Is_leap_year(i));
/* month */
for(i=1;i<RTC_DateStruct.RTC_Month;i++)
days+=(DAY_PER_YEAR+Is_leap_year(i));
/* day */
days+=(RTC_DateStruct.RTC_Date-1);
/* sec */
secs=days*SEC_PER_DAY+(RTC_TimeStruct.Hours*SEC_PER_HOUR+RTC_TimeStruct.RTC_Minutes*SEC_PER_MIN+RTC_TimeStruct.RTC_Seconds);
return secs;
}[/mw_shl_code] |
|