时间类的加减可以修改日期 求C++代码
时间: 2024-05-01 13:16:00 浏览: 10
以下是一个简单的C++代码示例,用于执行时间的加减,并修改日期:
```c++
#include <iostream>
#include <ctime>
using namespace std;
// 将时间转换为秒
time_t convertToSeconds(int day, int month, int year, int hour, int minute, int second) {
struct tm timeinfo = {0};
timeinfo.tm_year = year - 1900;
timeinfo.tm_mon = month - 1;
timeinfo.tm_mday = day;
timeinfo.tm_hour = hour;
timeinfo.tm_min = minute;
timeinfo.tm_sec = second;
time_t seconds = mktime(&timeinfo);
return seconds;
}
// 将时间转换为日期和时间
void convertToDateAndTime(time_t seconds, int &day, int &month, int &year, int &hour, int &minute, int &second) {
struct tm * timeinfo;
timeinfo = localtime(&seconds);
day = timeinfo->tm_mday;
month = timeinfo->tm_mon + 1;
year = timeinfo->tm_year + 1900;
hour = timeinfo->tm_hour;
minute = timeinfo->tm_min;
second = timeinfo->tm_sec;
}
int main() {
// 从用户那里获取日期和时间
int day, month, year, hour, minute, second;
cout << "请输入日期和时间(格式:dd mm yyyy hh mm ss): ";
cin >> day >> month >> year >> hour >> minute >> second;
// 将日期和时间转换为秒
time_t seconds = convertToSeconds(day, month, year, hour, minute, second);
// 显示当前日期和时间
cout << "当前的日期和时间为:" << ctime(&seconds);
// 从用户那里获取要添加的秒数
int addSeconds;
cout << "请输入要添加的秒数:";
cin >> addSeconds;
// 添加秒数
seconds += addSeconds;
// 将修改后的时间转换为日期和时间
convertToDateAndTime(seconds, day, month, year, hour, minute, second);
// 显示修改后的日期和时间
cout << "修改后的日期和时间为:" << day << "/" << month << "/" << year << " " << hour << ":" << minute << ":" << second << endl;
return 0;
}
```
在此示例中,我们使用 `convertToSeconds` 函数将用户输入的日期和时间转换为秒,并使用 `convertToDateAndTime` 函数将修改后的时间转换回日期和时间。然后,我们添加用户输入的秒数,并显示修改后的日期和时间。