21xrx.com
2024-06-02 22:18:24 Sunday
登录
文章检索 我的文章 写文章
如何使用C++获取当前日期和时间
2023-07-05 14:13:26 深夜i     --     --
C++ 获取 日期 时间 代码实现

在C++编程中,获取当前日期和时间是一项基本操作,无论是进行文件操作、网络编程还是其他应用开发等方面都必不可少。C++提供了多种方法来获取当前日期和时间,以下是几种常用的方法:

1.使用time()函数获取当前时间戳

time()函数位于 头文件中,它返回自1970年1月1日0时0分0秒以来的秒数。可以将其与struct tm结构体一起使用,将秒数转换为日期和时间。

示例代码如下:


#include <ctime>

#include <iostream>

using namespace std;

int main(){

  time_t nowTime = time(0);//获取当前时间戳

  tm *localTime = localtime(&nowTime);//将时间戳转化为本地时间

  cout << "当前日期和时间为:" << asctime(localTime);

  return 0;

}

运行结果为:


当前日期和时间为:Mon Oct 18 11:45:00 2021

2.使用chrono库获取当前时间

chrono库提供了更高级的时间处理功能,可以更方便地获取当前时间和日期。

示例代码如下:


#include <iostream>

#include <chrono>

#include <ctime>

using namespace std;

int main(){

  auto now = chrono::system_clock::now();//获取当前时间

  time_t nowTime = chrono::system_clock::to_time_t(now);//将时间转化为时间戳

  cout << "当前日期和时间为:" << ctime(&nowTime);

  return 0;

}

运行结果为:


当前日期和时间为:Mon Oct 18 11:45:00 2021

3.使用time_point获取当前时间

time_point也可以用来获取当前时间,它是一个模板类,可以根据需要选择不同的时间类型。

示例代码如下:


#include <iostream>

#include <iomanip>

#include <chrono>

using namespace std;

int main(){

  auto now = chrono::system_clock::now();//获取当前时间

  auto ms = chrono::duration_cast<chrono::milliseconds>(now.time_since_epoch());//将时间转化为毫秒

  auto us = chrono::duration_cast<chrono::microseconds>(now.time_since_epoch());//将时间转化为微秒

  auto ns = chrono::duration_cast<chrono::nanoseconds>(now.time_since_epoch());//将时间转化为纳秒

  time_t tt = chrono::system_clock::to_time_t(chrono::system_clock::now());

  struct tm *ptm = localtime(&tt);

  cout << "当前日期和时间为:" << put_time(ptm, "%Y-%m-%d %H:%M:%S") << endl;

  return 0;

}

运行结果为:


当前日期和时间为:2021-10-18 11:45:00

总结:

在C++中,获取当前日期和时间可以使用不同的方法,比较常用的有time()函数、chrono库和time_point类。通过以上介绍的几种方法,同学们可以根据自己的需要来选择合适的方法来获取当前日期和时间。

  
  

评论区

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