获取N天前日期
authorhcj <hcj@hcj>
Sat, 8 Jun 2024 09:50:44 +0000 (17:50 +0800)
committerhcj <hcj@hcj>
Sat, 8 Jun 2024 09:50:44 +0000 (17:50 +0800)
code/sdk/drivers/peripheral/utils/custom_utils.c
code/sdk/drivers/peripheral/utils/custom_utils.h

index 7bc3292..8a3de5c 100644 (file)
@@ -798,6 +798,37 @@ errcode_t uapi_get_YYMMDD_Time(char *p_time, char separator)
     time(&currtime);
     timeinfo = localtime(&currtime);
 
+    // 根据传入的分隔符参数选择中间分隔符
+    char sep[2] = {separator, '\0'};
+
+    // 将年月日信息存储到 p_time 变量中,使用指定的分隔符
+    sprintf(p_time, "%02d%s%02d%s%02d", timeinfo->tm_year + 1900, sep, timeinfo->tm_mon + 1, sep, timeinfo->tm_mday);
+
+    return ERRCODE_SUCC;
+}
+
+/**
+ * @param {char} *p_time
+ * @param {char} 隔断符
+ * @param {uint8_t} n天前
+ * @brief 获取日期
+ */
+errcode_t uapi_get_YYMMDD_Time_extend(char *p_time, char separator,uint8_t day)
+{
+    if (p_time == NULL)
+    {
+        return ERRCODE_FAIL; // 返回空指针错误码
+    }
+
+    time_t currtime;
+    struct tm *timeinfo;
+    time(&currtime);
+    currtime=currtime-day*24*60*60;
+   // printf("uapi_get_YYMMDD_Time_extend : %d\r\n",currtime);
+
+    timeinfo = localtime(&currtime);
+
+
     // 根据传入的分隔符参数选择中间分隔符
     char sep[2] = {separator, '\0'};
 
index 625f34e..46863f5 100644 (file)
@@ -67,6 +67,11 @@ errcode_t uapi_get_yyyymmddhhmmss_Date(char *date);
 
 /*获取日期*/
 errcode_t uapi_get_YYMMDD_Time(char *p_time, char separator);
+
+/*获取日期扩展版*/
+
+errcode_t uapi_get_YYMMDD_Time_extend(char *p_time, char separator,uint8_t day);
+
 /*获取时间*/
 errcode_t uapi_get_HHMMSS_Time(char *p_time, char separator, bool include_seconds);
 /*获取星期*/