21xrx.com
2025-07-03 09:36:26 Thursday
文章检索 我的文章 写文章
C++如何获取当前时间?
2023-06-30 22:12:46 深夜i     13     0
C++ 获取 当前时间

获取当前时间是编程中经常需要的操作,而在C++中,使用标准库中的 头文件和相关函数可以很方便地实现这一操作。

首先,在程序开头需要将 头文件包含进来,该头文件中定义了许多与时间相关的函数和结构体。其中,最常用的函数是time(),它返回自1970年1月1日00:00:00以来经过的秒数。

接下来,我们可以定义一个time_t类型的变量,再调用time()函数赋值给它即可获取当前时间,如下所示:

#include <ctime>
int main() {
  time_t now = time(NULL);
  return 0;
}

上述代码中,time(NULL)函数返回的是自1970年1月1日00:00:00以来经过的秒数,赋值给now变量,即可表示当前时间。

但是,这样表示的时间并不是人类友好的形式,我们可能需要将时间转化为年月日时分秒等形式。为此,可以使用结构体tm,它包含了许多与时间相关的成员变量,如年、月、日、时、分、秒等。

使用函数localtime()可以将经过的秒数转化为本地时间的tm结构体,代码如下:

#include <ctime>
int main() {
  time_t now = time(NULL);
  struct tm* local_time = localtime(&now);
  return 0;
}

上述代码中,localtime()函数接受一个指向time_t类型的指针,返回一个指向tm类型的指针,即可获得本地时间的tm结构体。

最后,我们可以通过访问tm结构体中的成员变量,获取具体的年月日时分秒等时间信息,如下所示:

#include <ctime>
#include <iostream>
int main() {
  time_t now = time(NULL);
  struct tm* local_time = localtime(&now);
  std::cout << "The local time is: ";
  std::cout << local_time->tm_year + 1900 << "-";
  std::cout << local_time->tm_mon + 1 << "-";
  std::cout << local_time->tm_mday << " ";
  std::cout << local_time->tm_hour << ":";
  std::cout << local_time->tm_min << ":";
  std::cout << local_time->tm_sec << std::endl;
  return 0;
}

上述代码中,通过访问local_time结构体中的成员变量来获取当前时间的年月日时分秒信息,并输出到控制台中。

综上所述,C++中获取当前时间的操作非常简单,只需要包含 头文件,调用time()和localtime()函数并访问tm结构体中的成员变量即可。

  
  

评论区