c++获取当前时间,使用ostringstream进行字符串拼接-创新互联

#include#include#include#includeusing namespace std;

void get_nowtime_fix(string& prefix) {time_t now_time;
	struct tm* p = new tm;
	time(&now_time);
	localtime_s(p, &now_time);
	int year = p->tm_year + 1900;
	int month = p->tm_mon + 1;
	int day = p->tm_mday;
	int hour = p->tm_hour;
	int minute = p->tm_min;
	int second = p->tm_sec;
	delete p;
	// 20221130_134024: 2022年11月30日13点40分24秒
	prefix = to_string(year)
		+ string(2 - to_string(month).length(), '0') + to_string(month)
		+ string(2 - to_string(day).length(), '0') + to_string(day)
		+ "_"
		+ string(2 - to_string(hour).length(), '0') + to_string(hour)
		+ string(2 - to_string(minute).length(), '0') + to_string(minute)
		+ string(2 - to_string(second).length(), '0') + to_string(second);
}


int main()
{ostringstream s;//使用ostringstream进行字符串拼接,避免使用string的+号
	string prefix;
	get_nowtime_fix(prefix); // 获取前缀
	s<< prefix<<"_program_time";
	string s1 = s.str();
	cout<< "s1: "<< s1<< endl;

	s.str(""); // 清空s的内容
	cout<< "按回车键继续..."<< endl;
	char c = getchar(); // 等待按键继续

	get_nowtime_fix(prefix); // 再获取前缀
	s<< prefix<< "_program_time";
	string s2 = s.str();
	cout<< "s2: "<< s2<< endl;

	return 0;
}
结果
s1: 20221130_135648_program_time
按回车键继续...

s2: 20221130_135650_program_time

E:\projectFiles\CPPcodes\x64\Release\stringConcat001.exe (进程 36036)已退出,代码为 0。
按任意键关闭此窗口. . .

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧

为贾汪等地区用户提供了全套网页设计制作服务,及贾汪网站建设行业解决方案。主营业务为成都做网站、成都网站制作、贾汪网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
当前题目:c++获取当前时间,使用ostringstream进行字符串拼接-创新互联
URL链接:http://pwwzsj.com/article/cojceg.html