21xrx.com
2024-11-08 22:25:23 Friday
登录
文章检索 我的文章 写文章
C++如何获取当前时间?
2023-06-30 22:12:46 深夜i     --     --
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结构体中的成员变量即可。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复