输入yyyymmdd格式日期,输出yyyy年mm月dd日格式日期c++没有<iomanip>和<ctime>
时间: 2024-10-11 19:13:17 浏览: 29
Javascript将字符串日期格式化为yyyy-mm-dd的方法
5星 · 资源好评率100%
在C++中,如果你没有`<iomanip>`和`<ctime>`这两个库来直接处理日期格式转换,你可以使用基本的算术操作和字符串操作来完成这个任务。下面是一个简单的示例,演示如何将`yyyymmdd`格式的日期转换为`yyyy年mm月dd日`格式:
```cpp
#include <iostream>
#include <string>
std::string convert_date_format(std::string date_input) {
std::size_t pos = 0;
if ((pos = date_input.find("yy")) != std::string::npos) {
// 三位数年份在前两位
int year = std::stoi(date_input.substr(0, 2));
// 年份范围校验
if (year < 0 || year > 99)
return "无效的年份";
// 移动到月份部分
pos += 2;
int month = std::stoi(date_input.substr(pos, 2));
// 移动到天数部分
pos += 2;
int day = std::stoi(date_input.substr(pos));
// 格式化输出
return std::to_string(year) + "年" + std::to_string(month).substr(0, 2) + "月" + std::to_string(day).substr(0, 2) + "日";
} else {
return "无效的日期格式";
}
}
int main() {
std::string input_date = "20230725";
std::cout << convert_date_format(input_date) << std::endl;
return 0;
}
```
阅读全文