C++如何获取今天日期
时间: 2023-09-09 22:10:10 浏览: 29
在 C++ 中获取当前日期可以使用 <ctime> 头文件中的 time 和 localtime 函数。
下面是一个简单的例子:
```cpp
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
// 获取当前时间
time_t now = time(0);
// 转换为本地时间
tm *ltm = localtime(&now);
// 输出年月日
cout << "Year: " << 1900 + ltm->tm_year << endl;
cout << "Month: " << 1 + ltm->tm_mon << endl;
cout << "Day: " << ltm->tm_mday << endl;
return 0;
}
```
输出结果:
```
Year: 2021
Month: 9
Day: 26
```
需要注意的是,`localtime` 返回的结构体 `tm` 中保存的年份是从 1900 年开始计算的,所以需要加上 1900 才是当前的年份。而月份是从 0 开始计算的,需要加上 1 才是当前的月份。
相关问题
c++语言如何获取日期
在C++中,获取当前日期可以使用标准库中的`<ctime>`头文件中的`time()`函数和`<chrono>`头文件中的`system_clock`类。
使用`time()`函数获取当前日期的代码示例:
```c++
#include <iostream>
#include <ctime>
int main() {
// 获取当前系统时间的秒数
std::time_t currentTime = std::time(nullptr);
// 将秒数转换为本地时间
std::tm* localTime = std::localtime(¤tTime);
// 输出当前日期
std::cout << "Today is: " << localTime->tm_year + 1900 << "-" << localTime->tm_mon + 1 << "-" << localTime->tm_mday << std::endl;
return 0;
}
```
上述代码中,`time()`函数返回当前系统时间的秒数,然后使用`localtime()`函数将秒数转换为本地时间,最后输出当前日期。
使用`system_clock`类获取当前日期的代码示例:
```c++
#include <iostream>
#include <chrono>
int main() {
// 获取当前系统时间
std::chrono::system_clock::time_point currentTime = std::chrono::system_clock::now();
// 将系统时间转换为本地时间
std::time_t localTime = std::chrono::system_clock::to_time_t(currentTime);
// 输出当前日期
std::cout << "Today is: " << std::ctime(&localTime);
return 0;
}
```
上述代码中,`system_clock::now()`函数返回当前系统时间,然后使用`to_time_t()`函数将系统时间转换为本地时间,最后输出当前日期。
C++获取当前日期的微秒值
在C++中,可以使用`<chrono>`头文件中的`std::chrono::high_resolution_clock`来获取当前日期的微秒值。下面是一个示例代码:
```cpp
#include <iostream>
#include <chrono>
int main() {
auto now = std::chrono::high_resolution_clock::now();
auto duration = now.time_since_epoch();
auto microseconds = std::chrono::duration_cast<std::chrono::microseconds>(duration).count();
std::cout << "当前日期的微秒值:" << microseconds << std::endl;
return 0;
}
```
这段代码使用`std::chrono::high_resolution_clock::now()`获取当前时间,然后使用`time_since_epoch()`获取时间距离纪元的时长,最后使用`duration_cast<std::chrono::microseconds>(duration).count()`将时长转换为微秒值。