C++自己写一个日期类,该怎样实现直接以标准日期格式返回日期
时间: 2024-03-02 11:50:04 浏览: 22
要实现一个日期类并以标准日期格式返回日期,你可以在日期类中添加一个成员函数,用于将日期格式化为指定的字符串格式。以下是一个简单的示例:
```c++
#include <iostream>
#include <ctime>
#include <iomanip>
class Date {
public:
Date(int year, int month, int day) : year_(year), month_(month), day_(day) {}
std::string ToString() const {
std::tm date = { 0, 0, 0, day_, month_ - 1, year_ - 1900 };
char buffer[32];
std::strftime(buffer, 32, "%Y-%m-%d", &date);
return std::string(buffer);
}
private:
int year_;
int month_;
int day_;
};
int main() {
Date date(2022, 1, 1);
std::cout << date.ToString() << std::endl;
return 0;
}
```
在上面的示例程序中,我们定义了一个Date类,该类包含year_、month_和day_三个私有成员变量,分别表示年、月、日。类中还定义了一个公有成员函数ToString,用于将日期格式化为"%Y-%m-%d"的字符串格式。在ToString函数中,我们首先将日期转换为std::tm结构体,然后使用std::strftime函数将其格式化为字符串,并返回结果。
在main函数中,我们创建了一个Date对象,并调用其ToString函数,将日期以标准日期格式输出到标准输出流中。