C++获取当前年月日,用int型存储
时间: 2024-02-18 18:01:37 浏览: 181
你可以使用C++11中的chrono库和time_point来获取当前的日期和时间。下面是一个获取当前年月日并用int型存储的示例代码:
```c++
#include <chrono>
#include <iostream>
int main() {
auto now = std::chrono::system_clock::now();
auto time = std::chrono::system_clock::to_time_t(now);
auto tm = std::localtime(&time);
int year = tm->tm_year + 1900;
int month = tm->tm_mon + 1;
int day = tm->tm_mday;
std::cout << "Current date: " << year << "-" << month << "-" << day << std::endl;
return 0;
}
```
这个程序会输出当前日期,例如:
```
Current date: 2022-2-24
```
注意,这个程序只获取了当前日期,没有包含时间信息。如果你需要获取当前的时间,可以在上面的示例中添加时、分、秒的变量并进行相应的赋值。
相关问题
C++获取当前系统年月日用int型存储
获取当前系统年月日可以使用C++标准库中的ctime和chrono库,其中ctime库包含了time_t和tm结构体,而chrono库则包含了system_clock和time_point等类。
下面是一个示例代码,可以获取当前系统的年月日并用int类型存储:
```c++
#include <iostream>
#include <ctime>
int main() {
std::time_t now = std::time(nullptr);
std::tm* local_time = std::localtime(&now);
int year = local_time->tm_year + 1900; // 年份需要加上1900
int month = local_time->tm_mon + 1; // 月份需要加上1
int day = local_time->tm_mday;
std::cout << "Year: " << year << std::endl;
std::cout << "Month: " << month << std::endl;
std::cout << "Day: " << day << std::endl;
return 0;
}
```
这段代码中,我们使用了std::time和std::localtime函数获取当前的时间并转化为struct tm类型。然后,我们从tm结构体中获取年月日,并将其转为int类型并存储在year、month、day三个变量中。
需要注意的是,tm结构体中的年份需要加上1900,月份需要加上1,才能得到正确的结果。
C++获取当前时间的年月日时分秒
C++获取当前时间的年月日时分秒可以使用time.h头文件中的函数和结构体来实现。具体方法可以参考以下代码:
```
#include <iostream>
#include <string>
#include <time.h>
struct NowDate {
char tmp0[16]; //年月日
char tmp1[16]; //时分秒
char tmp2[32]; //年月日时分秒
};
NowDate getTime() {
time_t timep;
time(&timep);
NowDate date;
strftime(date.tmp0, sizeof(date.tmp0), "%Y_%m_%d", localtime(&timep));
strftime(date.tmp1, sizeof(date.tmp1), "%H_%M_%S", localtime(&timep));
strftime(date.tmp2, sizeof(date.tmp2), "%Y%m%d%H%M%S", localtime(&timep));
return date;
}
int main() {
NowDate current_time = getTime();
std::string year_mom_day = current_time.tmp0;
std::string hour_mim_sec = current_time.tmp1;
std::string year_mom_day_hour_mim_sec = current_time.tmp2;
std::cout << year_mom_day << std::endl;
std::cout << hour_mim_sec << std::endl;
std::cout << year_mom_day_hour_mim_sec << std::endl;
system("pause");
}
```
其中,NowDate结构体中的三个成员变量分别存储年月日、时分秒和年月日时分秒。getTime()函数使用time()函数获取当前时间,然后使用strftime()函数将时间格式化为需要的字符串格式。最后,将格式化后的字符串存储到NowDate结构体中并返回。在main()函数中,调用getTime()函数获取当前时间并将其存储到字符串变量中,然后输出这些字符串即可。
阅读全文