c++ 获取当前时间戳
时间: 2023-10-18 22:15:39 浏览: 180
在 C++ 中获取当前时间戳可以使用 `<chrono>` 头文件中的 `time_point` 和 `system_clock`。
下面是一个示例代码,可以获取当前时间戳:
```cpp
#include <chrono>
#include <ctime>
#include <iostream>
int main() {
auto now = std::chrono::system_clock::now();
std::time_t now_c = std::chrono::system_clock::to_time_t(now);
std::cout << "Current timestamp is " << now_c << std::endl;
return 0;
}
```
在 `std::chrono::system_clock::now()` 中,`now()` 返回一个 `time_point` 对象,它表示当前的时间点。接着,`std::chrono::system_clock::to_time_t(now)` 将 `time_point` 对象转换为 `std::time_t` 类型,表示自 1970 年 1 月 1 日 00:00:00 UTC 以来的秒数。最后,可以使用 `std::cout` 输出当前时间戳。
相关问题
C++ 获取当前时间戳
可以使用 `time()` 函数获取当前时间的时间戳,返回值是从 1970 年 1 月 1 日到现在的秒数。示例代码如下:
```cpp
#include <iostream>
#include <ctime>
int main() {
std::time_t result = std::time(nullptr);
std::cout << "当前时间戳为:" << result << std::endl;
return 0;
}
```
输出结果类似于:
```
当前时间戳为:1631017061
```
C++获取当前时间戳
以下是两种C++获取当前时间戳的方法:
1.使用gettimeofday函数获取时间戳
```cpp
#include <sys/time.h>
#include <iostream>
int main() {
double timestamp;
struct timeval time_v;
gettimeofday(&time_v, NULL);
timestamp = time_v.tv_sec * 1000 + time_v.tv_usec / 1000;
std::cout << "now time: " << timestamp << std::endl;
return 0;
}
```
2.封装gettimeofday函数获取时间戳
```cpp
#include <sys/time.h>
#include <iostream>
double GetTimeStamp(void) {
double timestamp;
struct timeval time_v;
gettimeofday(&time_v, NULL);
timestamp = (time_v.tv_sec) + (time_v.tv_usec) / 1000000.0;
return timestamp;
}
int main() {
double timestamp = GetTimeStamp();
std::cout << "now time: " << timestamp << std::endl;
return 0;
}
```
阅读全文