c++获取当前时间字符串
时间: 2024-10-25 15:04:39 浏览: 16
在 C++ 中,你可以使用 `<chrono>` 和 `<ctime>` 库来获取当前时间并将其转换为字符串格式。以下是一个简单的示例:
```cpp
#include <iostream>
#include <ctime>
#include <sstream>
// 获取当前时间点
std::time_t now = std::time(nullptr);
// 将时间点转换为tm结构体
struct tm local_time;
std::localtime_s(&local_time, &now);
// 创建一个 ostringstream 对象来格式化时间
std::ostringstream oss;
// 添加年、月、日、小时、分钟、秒
oss << std::put_time(&local_time, "%Y-%m-%d %H:%M:%S");
// 输出或存储字符串
std::string currentTimeStr = oss.str();
std::cout << "Current time as string: " << currentTimeStr << std::endl;
```
这个例子使用了 `std::put_time` 函数来格式化时间,`%Y-%m-%d %H:%M:%S` 是格式说明符,表示四位数的年份、两位数的月份、日期、小时、分钟和秒。
相关问题
QT C++获取当前时间格式字符串为2023-05-09 13:15 和当前时间减去15分钟的时间字符串
获取当前时间格式字符串为2023-05-09 13:15的代码如下:
```cpp
#include <QDateTime>
// 获取当前时间
QDateTime currentDateTime = QDateTime::currentDateTime();
// 格式化时间字符串
QString currentDateTimeStr = currentDateTime.toString("yyyy-MM-dd hh:mm");
```
获取当前时间减去15分钟的时间字符串的代码如下:
```cpp
#include <QDateTime>
// 获取当前时间
QDateTime currentDateTime = QDateTime::currentDateTime();
// 减去15分钟
QDateTime newDateTime = currentDateTime.addSecs(-15 * 60);
// 格式化时间字符串
QString newDateTimeStr = newDateTime.toString("yyyy-MM-dd hh:mm");
```
其中,`QDateTime::currentDateTime()` 返回当前的日期和时间,`QDateTime::addSecs()` 可以对日期时间进行加减运算,`QString::toString()` 可以将日期时间格式化为指定的字符串格式。
c++获取时间字符串
在C++中,你可以使用`<ctime>`库来获取当前的时间并将其转换成字符串。以下是一个简单的示例:
```cpp
#include <iostream>
#include <ctime>
std::string getCurrentTimeString() {
std::time_t now = std::time(0); // 获取当前时间戳
char buffer[80]; // 定义一个足够大的字符数组来存放时间字符串
std::strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", std::localtime(&now)); // 格式化时间为"年-月-日 时:分:秒"
return buffer;
}
int main() {
std::cout << "Current Time: " << getCurrentTimeString() << std::endl;
return 0;
}
```
这个函数会返回当前日期和时间的一个字符串,例如 "2023-04-06 15:30:45"。`std::strftime()` 函数负责格式化时间和填充到缓冲区。
阅读全文