转换日期格式
Converting date format?
#include <iostream>
#include <iomanip>
#include <string>
#include <fstream>
using namespace std;
// declares variables
string dayow;
string month;
string day;
string year;
int main()
{
cout << "Pick you day of the week (ex: Monday-Sunday)" << endl;
getline(cin, dayow);
cout << " " << endl;
cout << "Pick your month (ex: January-December)" << endl;
getline(cin, month);
cout << " " << endl;
cout << "Pick your day of the month (ex: 1-31)" << endl;
getline(cin, day);
cout << " " << endl;
cout << "Pick your year" << endl;
getline(cin, year);
cout << " " << endl;
cout << "This is your date.." << endl;
cout << dayow << ", " << month << " " << day << ", " << year << "." << endl;
cout << " " << endl;
cout << "Here are the 3 formats to display your date.." << endl;
cout << " " << endl;
cout << "1. " << month << " " << day << " was a " << dayow << " in " << year << endl;
cout << " " << endl;
std::string str = dayow;
std::string str1 = str.substr(0, 3);
std::string str = month;
std::string str2 = str.substr(0, 2);
std::string str = day;
std::string str3 = str.substr(0, 2);
std::string str = year;
std::string str4 = str.substr(0, 4);
std::cout << str1 << ", " << str2 << " " << str3 << " '" << str4 << endl;
return 0;
}
所以我在这里要做的是让用户输入ex: Tuesday, March 22, 2012,然后有2个结果出来。1号是"2012年1月1日是星期二",这很好。问题在于第二个结果,我想要"星期二,2012年3月22日",但问题是在第46 - 53行,所有的字符串都连接到第一个std:string str = dayow;所以输出就变成了TueTuTuTues!有人能帮忙吗?谢谢!
编辑:抱歉,如果这是一个新手问题:/真的是新的编码!
试试这个:(修改你的代码)
#include <iomanip>
#include<iostream> // **add this header file**
#include <string>
#include <fstream>
using namespace std;
// declares variables
string dayow;
string month;
string day;
string year;
int main()
{
cout << "Pick you day of the week (ex: Monday-Sunday)" << endl;
getline(cin, dayow);
cout << " " << endl;
cout << "Pick your month (ex: January-December)" << endl;
getline(cin, month);
cout << " " << endl;
cout << "Pick your day of the month (ex: 1-31)" << endl;
getline(cin, day);
cout << " " << endl;
cout << "Pick your year" << endl;
getline(cin, year);
cout << " " << endl;
cout << "This is your date.." << endl;
cout << dayow << ", " << month << " " << day << ", " << year << "." << endl;
cout << " " << endl;
cout << "Here are the 3 formats to display your date.." << endl;
cout << " " << endl;
cout << "1. " << month << " " << day << " was a " << dayow << " in " << year << endl;
cout << " " << endl;
// **changes start here**
string str1 = dayow.substr(0, 3);
string str2 = month.substr(0, 3);
string str3 = day.substr(0, 2);
string str4 = year.substr(0, 4);
cout << str1 << ", " << str2 << " " << str3 << " ," << str4 << endl;
return 0;
}
您使用哪个编译器?你的程序不能编译。
- 添加
#include <iostream>
-
c++中不能定义几个同名的变量。所以替换
std::string str = dayow; std::string str1 = str.substr(0, 3); std::string str = month; std::string str2 = str.substr(0, 2); std::string str = day; std::string str3 = str.substr(0, 2); std::string str = year; std::string str4 = str.substr(0, 4);
std::string str1 = dayow.substr(0, 3); std::string str2 = month.substr(0, 2); std::string str3 = day.substr(0, 2); std::string str4 = year.substr(0, 4);
更改此部分:
std::string str = dayow;
std::string str1 = str.substr(0, 3);
std::string str = month;
std::string str2 = str.substr(0, 2);
std::string str = day;
std::string str3 = str.substr(0, 2);
std::string str = year;
std::string str4 = str.substr(0, 4);
:
std::string str = dayow;
std::string str1 = str.substr(0, 3);
std::string stra = month;
std::string str2 = stra.substr(0, 3);
std::string strb = day;
std::string str3 = strb.substr(0, 2);
std::string strc = year;
std::string str4 = strc.substr(0, 4);
问题是日,月,年的变量名相同
相关文章:
- 日期格式为C++
- 如何在QTableView中排序和更改日期格式
- 如何将时间和日期转换为 C 或 C++ 的句子格式?
- 这种日期和时间格式是什么?
- 十进制格式的日期之间的差异
- 如何检查日期格式(日/月/年)是否正确C++
- 使用提升解析日期时间字符串:采用个位数小时格式
- 标准::get_time 中的日期时间格式
- 输出时间和日期,格式为:2018-01-26 15:51.159753
- 如何将WSTRING中的Unix时间戳转换为char数组中格式的日期
- 从格式提取日期
- 将 QString 日期(RFC 822 格式)转换为另一种基于区域性的 QString 格式
- 如何使用put_time()设置日期格式以删除前面的空格和零
- 在 c++ 中验证日期格式
- 如何通过time_t更改日期和时间的格式
- 如何在MySQL或C 中以哈希格式验证日期
- 使用字符串流设置日期格式
- Qt:模型/视图-定义项目持有日期的格式
- 确定字符串中有多少单词被格式化为MMDDYY形式的日期,并对其进行计数.(C++)
- 输出ISO 8601格式的日期