📄 +
字号:
【例1.9】演示将美国格式的日期转换为国际格式的例子。
美国使用月日年格式,例如May 28,2002,转为国际格式应为28 May 2002。这可以使用find检索,使用substr截取,然后再按要求重组。具体步骤如下:
① 寻找月份。假设string类的Date对象存放美国日期,则下列语句:
int i=Date.find(″ ″);//查找May与28之间的空格,i=3
string Month=Date.substr(0,i);//从0开始截取i个字符(上面求的i=3)
得到Month。
② 寻找日子。先寻找“,”号,假设其位置为k。Day的起始位置应是i+1处,长度应是k-(i+1),则语句:
string Day=Date.substr(i+1,k-i-1);
得到Day。
③ 寻找年份。年份应从逗号处再计数2次(因为逗号后面有一个空格),长度为4,也可以使用比年的长度长的字符串的总长度,这由它的成员函数size提供。下面两种方法是等效的:
string Year=Date.substr(k+2,Date.size()-1);
string Year=Date.substr(k+2,4);
④ 按新格式拼装并输出。
下面是完整的程序及运行结果:
#include <iostream>
#include <string>
using namespace std;
void main()
{
cout<<″Enter the date in American format ″
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -