C++ 时间戳转string 时间格式yyyymmddhhMMss 时间戳精确到毫秒
时间: 2023-09-02 21:06:22 浏览: 626
字符串和时间戳相互转换
以下是C++中将时间戳精确到毫秒,并转换为格式为`yyyymmddhhMMss`的字符串的示例代码:
```c++
#include <iostream>
#include <iomanip>
#include <sstream>
#include <ctime>
std::string timestampToString(long long timestamp) {
std::time_t t = timestamp / 1000; // 将时间戳除以1000,转换为秒级别的时间戳
std::tm tm = *std::localtime(&t);
std::ostringstream oss;
oss << std::put_time(&tm, "%Y%m%d%H%M%S");
oss << std::setfill('0') << std::setw(3) << timestamp % 1000; // 将毫秒级别的时间戳转换为3位数字,补零
return oss.str();
}
int main() {
long long timestamp = 1609459200123LL; // 时间戳,单位为毫秒
std::string stringTime = timestampToString(timestamp);
std::cout << stringTime << std::endl; // 输出:202101010000000123
return 0;
}
```
该示例中先将时间戳除以1000,转换为秒级别的时间戳,然后再使用`std::setfill`和`std::setw`将毫秒级别的时间戳转换为3位数字,并且补零。其余部分与上一题示例代码相同。
阅读全文