时间的增减操作
#include <stdio.h>
#include <time.h>
int main() {
time_t currentTime;
struct tm *localTime;
// 获取当前时间
time(¤tTime);
localTime = localtime(¤tTime);
// 增加一分钟
localTime->tm_min += 1;
// 使用 mktime 将 struct tm 转换为 time_t
time_t newTime = mktime(localTime);
char formattedTime1[20];
strftime(formattedTime1, sizeof(formattedTime1), "%Y-%m-%d %H:%M:%S", localtime(¤tTime));
char formattedTime2[20];
strftime(formattedTime2, sizeof(formattedTime2), "%Y-%m-%d %H:%M:%S", localtime(&newTime));
// 打印格式化后的时间
printf("Current Time: %s\n", formattedTime1);
printf("After 1 minute: %s\n", formattedTime2);
return 0;
}
如果用不到当前时间的详细信息,可以直接在时间戳上增减时间,少了几个步骤,提高效率。
#include <stdio.h>
#include <time.h>
int main() {
time_t currentTime=time(NULL);
time_t after1m=currentTime+60;//加上60秒 就是1分钟
char formattedTime1[20];
strftime(formattedTime1, sizeof(formattedTime1), "%Y-%m-%d %H:%M:%S", localtime(¤tTime));
char formattedTime2[20];
strftime(formattedTime2, sizeof(formattedTime2), "%Y-%m-%d %H:%M:%S", localtime(&after1m));
// 打印格式化后的时间
printf("Current Time: %s\n", formattedTime1);
printf("After 1 minute: %s\n", formattedTime2);
return 0;
}