给一个日期,求明天和昨天,C语言
时间: 2024-05-15 17:13:09 浏览: 70
可以使用 time.h 头文件中的相关函数来进行日期的计算。下面提供一个示例代码,可以输入一个日期,然后输出它的前一天和后一天:
```c
#include <stdio.h>
#include <time.h>
int main()
{
struct tm date;
time_t timeNow;
char dateStr[100];
// 读取日期
printf("请输入日期(格式为YYYY-MM-DD):");
scanf("%s", dateStr);
// 将日期字符串转换为时间戳
sscanf(dateStr, "%d-%d-%d", &date.tm_year, &date.tm_mon, &date.tm_mday);
date.tm_year -= 1900;
date.tm_mon--;
// 转换为time_t类型
timeNow = mktime(&date);
// 计算前一天和后一天的日期
time_t yesterday = timeNow - 24 * 60 * 60;
time_t tomorrow = timeNow + 24 * 60 * 60;
// 转换为struct tm类型
struct tm* pYesterday = localtime(&yesterday);
struct tm* pTomorrow = localtime(&tomorrow);
// 输出结果
printf("前一天:%04d-%02d-%02d\n", pYesterday->tm_year + 1900, pYesterday->tm_mon + 1, pYesterday->tm_mday);
printf("后一天:%04d-%02d-%02d\n", pTomorrow->tm_year + 1900, pTomorrow->tm_mon + 1, pTomorrow->tm_mday);
return 0;
}
```
需要注意的是,这里使用的是本地时间,如果需要处理不同时区的时间,可以考虑使用 UTC 时间。
阅读全文