use*_*171 2 c++ format date data-conversion
我想转换一个int日期,如:
20111201
到string:
01DEC2011
是否有内置于 C++ 中的快速日期格式转换(或者我可以执行的 bash 系统命令)来执行此操作,或者我是否一直在进行切换?
您可以使用 strptime 将字符串转换为 struct tm,然后使用 strftime 重新格式化它:
#include <ctime>
#include <iostream>
#include <sstream>
int main()
{
std::ostringstream date1;
date1 << 20111201;
struct tm tm;
strptime(date1.str().c_str(), "%Y%m%d", &tm);
char date2[10];
strftime(date2, sizeof(date2), "%d%b%Y", &tm);
std::cout << date1.str() << " -> " << date2 << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
输出是:
20111201 -> 01Dec2011
Run Code Online (Sandbox Code Playgroud)
如果有必要,只需要将 Dec 转换为大写。
| 归档时间: |
|
| 查看次数: |
13264 次 |
| 最近记录: |