21xrx.com
2024-11-25 03:14:26 Monday
登录
文章检索 我的文章 写文章
C++ 时间函数入门指南
2023-07-04 19:01:33 深夜i     --     --
C++ 时间函数 入门指南

C++ 时间函数是一种非常实用的函数,它可以让程序员方便地获取当前的时间信息,例如年份、月份、日期、小时、分钟、秒等。在计算机程序开发中,时间函数经常被用于计算程序的运行时间、生成时间戳或日志等应用场景中。

本文将为大家提供 C++ 时间函数的入门指南,包括获取当前时间、格式化时间、计算日期差等操作。

1. 获取当前时间

获取当前时间是时间函数最常用的操作之一。在 C++ 中,可以使用 time() 函数来获取当前时间的时间戳,它返回自1970年1月1日以来经过的秒数:


#include <ctime>

#include <iostream>

int main() {

  time_t now = time(0);

  std::cout << "当前时间戳为:" << now << std::endl; 

  return 0;

}

该程序输出的结果为当前时间的时间戳,例如 1633235609。

2. 格式化时间

获取到当前的时间戳后,我们需要将它转换为指定的时间格式,比如年-月-日 时:分:秒。在 C++ 中,可以使用 strftime() 函数对时间戳进行格式化。


#include <ctime>

#include <iostream>

int main() {

  time_t now = time(0);

  char str[100];

  strftime(str, 100, "%Y-%m-%d %H:%M:%S", localtime(&now));

  std::cout << "当前时间为:" << str << std::endl; 

  return 0;

}

该程序输出的结果为当前格式化后的时间,例如 2021-10-03 10:20:09。

3. 计算日期差

在 C++ 中,可以使用 mktime() 函数将时间戳转换为 struct tm 结构体类型,然后进行日期和时间的计算。

例如,可以通过 struct tm 结构体来计算两个日期之间的天数差:


#include <ctime>

#include <iostream>

int main() {

  struct tm start = {0};

  struct tm end = {0};

  start.tm_year = 121; // 年份为 2021,需减去 1900

  start.tm_mon = 0;   // 月份为 1,需减去 1

  start.tm_mday = 1;  // 日为 1

  end.tm_year = 121;

  end.tm_mon = 9;

  end.tm_mday = 1;

  time_t start_time = mktime(&start);

  time_t end_time = mktime(&end);

  double diff_seconds = difftime(end_time, start_time);

  double diff_days = diff_seconds / (24 * 60 * 60);

  std::cout << "2021-01-01 和 2021-10-01 之间相差 " << diff_days << " 天" << std::endl; 

  return 0;

}

该程序输出的结果为 2021-01-01 和 2021-10-01 之间相差 273 天。

总结

本文为大家介绍了 C++ 时间函数的入门指南,包括获取当前时间、格式化时间、计算日期差等操作。掌握这些操作可以让程序员更加方便地处理时间信息,提高程序的效率和可靠性。

  
  

评论区

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