使用C语言写一段代码,要求输入日期和时间差,输出对应时间差的日趋,时间差大于0则输出之后的时间,时间差小于0则输出之前的时间
时间: 2024-02-18 09:01:47 浏览: 21
以下是使用C语言编写的代码,实现输入日期和时间差,输出对应时间差的日趋,时间差大于0则输出之后的时间,时间差小于0则输出之前的时间。
```c
#include <stdio.h>
#include <time.h>
int main()
{
struct tm date;
time_t t;
int days;
//输入日期
printf("请输入日期,格式为yyyy-mm-dd: ");
scanf("%d-%d-%d", &date.tm_year, &date.tm_mon, &date.tm_mday);
date.tm_year -= 1900;
date.tm_mon -= 1;
//输入时间差
printf("请输入时间差,单位为天: ");
scanf("%d", &days);
//将日期转换为时间戳
t = mktime(&date);
//计算新的时间戳
t += days * 24 * 60 * 60;
//将时间戳转换为日期
date = *localtime(&t);
//输出日期
printf("新的日期为:%d-%02d-%02d\n", date.tm_year + 1900, date.tm_mon + 1, date.tm_mday);
return 0;
}
```
在上述代码中,我们使用了C语言中的time.h头文件中的函数进行日期和时间的处理。其中,mktime()函数可以将日期转换为时间戳,localtime()函数可以将时间戳转换为日期。通过输入日期和时间差,我们可以计算出新的日期,并将新的日期输出到控制台上。