|
@@ -197,61 +197,103 @@ led_pin_config_t gLedCfg[LED_INX_MAX]={{LED_PORT_0,LED_GPIO_PIN_1,LED_PAD_INDEX1
|
|
|
{LED_PORT_1,LED_GPIO_PIN_3,LED_PAD_INDEX3, PAD_MuxAlt0},\
|
|
|
{LED_PORT_0,LED_GPIO_PIN_4,LED_PAD_INDEX4, PAD_MuxAlt0},\
|
|
|
{LED_PORT_1,LED_GPIO_PIN_5,LED_PAD_INDEX5, PAD_MuxAlt0}};
|
|
|
-
|
|
|
-void UTCToBeijing(UTC8TimeType* UTC8Time,unsigned int UTCyear,unsigned char UTCmonth,unsigned char UTCday,unsigned int UTChour,unsigned char UTCminute,unsigned char UTCsecond)
|
|
|
+void ExpiryTimeCal(UTC8TimeType* UTC8Time,UINT16 rentalDays,UTC8TimeType* ExpiryUTC8Time)
|
|
|
{
|
|
|
int year=0,month=0,day=0,hour=0;
|
|
|
int lastday = 0;// ÔµÄ×îºóÒ»ÌìÈÕÆÚ
|
|
|
- int lastlastday = 0;//ÉÏÔµÄ×îºóÒ»ÌìÈÕÆÚ
|
|
|
-
|
|
|
- year=UTCyear;
|
|
|
- month=UTCmonth;
|
|
|
- day=UTCday;
|
|
|
- hour=UTChour+8;//UTC+8ת»»Îª±±¾©Ê±¼ä
|
|
|
|
|
|
- if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12)
|
|
|
+ year=UTC8Time->year;
|
|
|
+ month=UTC8Time->month;
|
|
|
+ day=UTC8Time->day + rentalDays;
|
|
|
+ if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12)
|
|
|
+ {
|
|
|
+ lastday = 31;
|
|
|
+ }
|
|
|
+ else if(month == 4 || month == 6 || month == 9 || month == 11)
|
|
|
+ {
|
|
|
+ lastday = 30;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if((year%400 == 0)||(year%4 == 0 && year%100 != 0))//ÈòÄêµÄ2ÔÂΪ29Ì죬ƽÄêΪ28Ìì
|
|
|
+ lastday = 29;
|
|
|
+ else
|
|
|
+ lastday = 28;
|
|
|
+ }
|
|
|
+ while(day > lastday)//µ±Ëã³öµÄÈÕÆÚ´óÓÚ¸ÃÔÂ×îºóÒ»Ììʱ£¬Ó¦¼õÈ¥¸ÃÔÂ×îºóÒ»ÌìµÄÈÕÆÚ£¬Ô·ݼÓÉÏÒ»¸öÔÂ
|
|
|
+ {
|
|
|
+ day -= lastday;
|
|
|
+ month += 1;
|
|
|
+
|
|
|
+ if(month > 12)//µ±Ëã³öµÄÔ·ݴóÓÚ12£¬Ó¦¼õÈ¥12£¬Äê·Ý¼ÓÉÏ1Äê
|
|
|
{
|
|
|
- lastday = 31;
|
|
|
- if(month == 3)
|
|
|
- {
|
|
|
- if((year%400 == 0)||(year%4 == 0 && year%100 != 0))//ÅжÏÊÇ·ñΪÈòÄê
|
|
|
- lastlastday = 29;//ÈòÄêµÄ2ÔÂΪ29Ì죬ƽÄêΪ28Ìì
|
|
|
- else
|
|
|
- lastlastday = 28;
|
|
|
- }
|
|
|
- if(month == 8)
|
|
|
- lastlastday = 31;
|
|
|
- }
|
|
|
- else
|
|
|
- if(month == 4 || month == 6 || month == 9 || month == 11)
|
|
|
+ month -= 12;
|
|
|
+ year += 1;
|
|
|
+ }
|
|
|
+ if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12)
|
|
|
{
|
|
|
- lastday = 30;
|
|
|
- lastlastday = 31;
|
|
|
- }
|
|
|
- else
|
|
|
+ lastday = 31;
|
|
|
+ }
|
|
|
+ else if(month == 4 || month == 6 || month == 9 || month == 11)
|
|
|
{
|
|
|
- lastlastday = 31;
|
|
|
- if((year%400 == 0)||(year%4 == 0 && year%100 != 0))//ÈòÄêµÄ2ÔÂΪ29Ì죬ƽÄêΪ28Ìì
|
|
|
- lastday = 29;
|
|
|
- else
|
|
|
- lastday = 28;
|
|
|
- }
|
|
|
- if(hour >= 24)//µ±Ëã³öµÄʱ´óÓÚ»òµÈÓÚ24£º00ʱ£¬Ó¦¼õÈ¥24£º00£¬ÈÕÆÚ¼ÓÒ»Ìì
|
|
|
+ lastday = 30;
|
|
|
+ }
|
|
|
+ else
|
|
|
{
|
|
|
- hour -= 24;
|
|
|
- day += 1;
|
|
|
- if(day > lastday)//µ±Ëã³öµÄÈÕÆÚ´óÓÚ¸ÃÔÂ×îºóÒ»Ììʱ£¬Ó¦¼õÈ¥¸ÃÔÂ×îºóÒ»ÌìµÄÈÕÆÚ£¬Ô·ݼÓÉÏÒ»¸öÔÂ
|
|
|
- {
|
|
|
- day -= lastday;
|
|
|
- month += 1;
|
|
|
-
|
|
|
- if(month > 12)//µ±Ëã³öµÄÔ·ݴóÓÚ12£¬Ó¦¼õÈ¥12£¬Äê·Ý¼ÓÉÏ1Äê
|
|
|
- {
|
|
|
- month -= 12;
|
|
|
- year += 1;
|
|
|
- }
|
|
|
- }
|
|
|
+ if((year%400 == 0)||(year%4 == 0 && year%100 != 0))//ÈòÄêµÄ2ÔÂΪ29Ì죬ƽÄêΪ28Ìì
|
|
|
+ lastday = 29;
|
|
|
+ else
|
|
|
+ lastday = 28;
|
|
|
}
|
|
|
+ }
|
|
|
+ ExpiryUTC8Time->year = year;
|
|
|
+ ExpiryUTC8Time->month = month;
|
|
|
+ ExpiryUTC8Time->day = day;
|
|
|
+ ExpiryUTC8Time->hour = UTC8Time->hour;
|
|
|
+ ExpiryUTC8Time->minute = UTC8Time->minute;
|
|
|
+ ExpiryUTC8Time->second = UTC8Time->second;
|
|
|
+ return;
|
|
|
+}
|
|
|
+void UTCToBeijing(UTC8TimeType* UTC8Time,unsigned int UTCyear,unsigned char UTCmonth,unsigned char UTCday,unsigned int UTChour,unsigned char UTCminute,unsigned char UTCsecond)
|
|
|
+{
|
|
|
+ int year=0,month=0,day=0,hour=0;
|
|
|
+ int lastday = 0;// ÔµÄ×îºóÒ»ÌìÈÕÆÚ
|
|
|
+
|
|
|
+ year=UTCyear;
|
|
|
+ month=UTCmonth;
|
|
|
+ day=UTCday;
|
|
|
+ hour=UTChour + 8;//UTC+8ת»»Îª±±¾©Ê±¼ä
|
|
|
+
|
|
|
+ if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12)
|
|
|
+ {
|
|
|
+ lastday = 31;
|
|
|
+ }
|
|
|
+ else if(month == 4 || month == 6 || month == 9 || month == 11)
|
|
|
+ {
|
|
|
+ lastday = 30;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if((year%400 == 0)||(year%4 == 0 && year%100 != 0))//ÈòÄêµÄ2ÔÂΪ29Ì죬ƽÄêΪ28Ìì
|
|
|
+ lastday = 29;
|
|
|
+ else
|
|
|
+ lastday = 28;
|
|
|
+ }
|
|
|
+ if(hour >= 24)//µ±Ëã³öµÄʱ´óÓÚ»òµÈÓÚ24£º00ʱ£¬Ó¦¼õÈ¥24£º00£¬ÈÕÆÚ¼ÓÒ»Ìì
|
|
|
+ {
|
|
|
+ hour -= 24;
|
|
|
+ day += 1;
|
|
|
+ if(day > lastday)//µ±Ëã³öµÄÈÕÆÚ´óÓÚ¸ÃÔÂ×îºóÒ»Ììʱ£¬Ó¦¼õÈ¥¸ÃÔÂ×îºóÒ»ÌìµÄÈÕÆÚ£¬Ô·ݼÓÉÏÒ»¸öÔÂ
|
|
|
+ {
|
|
|
+ day -= lastday;
|
|
|
+ month += 1;
|
|
|
+ if(month > 12)//µ±Ëã³öµÄÔ·ݴóÓÚ12£¬Ó¦¼õÈ¥12£¬Äê·Ý¼ÓÉÏ1Äê
|
|
|
+ {
|
|
|
+ month -= 12;
|
|
|
+ year += 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
UTC8Time->year = year;
|
|
|
UTC8Time->month = month;
|
|
@@ -259,8 +301,8 @@ void UTCToBeijing(UTC8TimeType* UTC8Time,unsigned int UTCyear,unsigned char UTCm
|
|
|
UTC8Time->hour = hour;
|
|
|
UTC8Time->minute = UTCminute;
|
|
|
UTC8Time->second = UTCsecond;
|
|
|
+ return;
|
|
|
}
|
|
|
-#include <stdarg.h>
|
|
|
#ifdef DEBUGLOG
|
|
|
static osMutexId_t DebugFileMux;
|
|
|
static void Debug_Write_Logfile(UINT8 * buf)
|