您当前的位置: 首页 > 

仙剑情缘

暂无认证

  • 0浏览

    0关注

    333博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

返回一个月中最大的天数(适用于2000年到2099年之间)

仙剑情缘 发布时间:2019-09-01 19:13:26 ,浏览量:0

  • 计算一个月中的最大天数

采用查表法来实现,润年计算方法只计算被4整除,这样至少适应于2000年~2099年之间,对有生之年也够用

typedef struct 
{
	uint8_t second;  //秒
	uint8_t minute;  //分
	uint8_t hour;    //时
	uint8_t day;    //日
	uint8_t month;   //月
	uint8_t week;    //星期 1-7
	uint8_t year;    //年
        uint8_t timeZone; //时区
}REAL_TIME_T;

//-------------月份对应最大天数--------------------------
static const uint8_t  MONTH_DAYNO[]={
	0,    // dummy
	31,   // 1月
	28,   // 2月
	31,   // 3月
	30,   // 4月
	31,   // 5月
	30,   // 6
	31,   // 7
	31,   // 8
	30,   // 9
	31,   // 10
	30,   // 11
	31    // 12
};

/**--------------------------------------------------------------
* @brief 计算一个月中的最大天数
* @param REAL_TIME_T *time 指向时间结构体对象
* @returnval uint8_t 返回一个月中最大的天数
*----------------------------------------------------------------*/
uint8_t getMaxDays(REAL_TIME_T *time)
{
     uint8_t days = MONTH_DAYNO[time->month];
     if(((time->year & 0x03)==0) && (time->month == 2)) //2月润年为29天
     {
	days++;
     }
     return days;
}

 

关注
打赏
1658017818
查看更多评论
立即登录/注册

微信扫码登录

0.0353s