📅  最后修改于: 2023-12-03 14:59:49.163000             🧑  作者: Mango
在C++中,获取当前时间的时分秒信息可以通过以下几种方式:
#include <ctime>
int main() {
time_t now = time(0);
tm *ltm = localtime(&now);
int hour = ltm->tm_hour;
int minute = ltm->tm_min;
int second = ltm->tm_sec;
return 0;
}
上面的代码中,我们使用了ctime库中的time()函数获取当前时间戳,然后使用localtime()函数将时间戳转换为本地时区的时间,并返回一个指向tm结构体的指针。最后,我们可以通过访问tm结构体中的成员来获取时分秒信息。
#include <chrono>
int main() {
auto now = std::chrono::system_clock::now();
auto hours = std::chrono::duration_cast<std::chrono::hours>(now.time_since_epoch());
auto minutes = std::chrono::duration_cast<std::chrono::minutes>(now.time_since_epoch()) - hours;
auto seconds = std::chrono::duration_cast<std::chrono::seconds>(now.time_since_epoch()) - hours - minutes;
int hour = hours.count() % 24;
int minute = minutes.count() % 60;
int second = seconds.count() % 60;
return 0;
}
上面的代码中,我们使用了C++ 11引入的chrono库。我们首先获取当前时间,然后将时间戳转换为hours、minutes、seconds三个duration。最后,我们可以通过读取duration的count()方法来获取时分秒信息。
以上两种方法都可以获取当前时间的时分秒信息,可以根据实际情况选择使用哪种方法。