21xrx.com
2025-03-26 12:26:27 Wednesday
文章检索 我的文章 写文章
如何在C++中判断时间?
2023-07-08 21:15:34 深夜i     16     0
C++ 时间 判断

在编程中,判断时间是很常见的操作。在C++中,我们可以使用time.h头文件提供的函数来判断时间。下面我们将介绍如何在C++中判断时间。

1.获取当前时间

我们可以使用time函数获取当前时间。

#include <iostream>
#include <time.h>
using namespace std;
int main()
{
  time_t now = time(0);
  cout << "当前时间:" << ctime(&now);
  return 0;
}

上述代码中,我们调用了time函数获取当前时间。返回的是从1970年1月1日至今的秒数,即time_t类型。我们可以使用ctime函数将其转换为人类可读的格式。

2.获取本地时间

我们可以使用localtime函数将time_t类型转换为TM结构体类型,从而获取本地时间。

#include <iostream>
#include <time.h>
using namespace std;
int main()
{
  time_t now = time(0);
  struct tm* local = localtime(&now);
  cout << "本地时间:" << asctime(local);
  return 0;
}

上述代码中,我们通过localtime函数将time_t类型的当前时间转换为了本地时间的TM结构体类型。我们可以使用asctime函数将其转换为人类可读的格式。

3.获取UTC时间

我们可以使用gmtime函数将time_t类型转换为TM结构体类型,从而获取UTC时间。

#include <iostream>
#include <time.h>
using namespace std;
int main()
{
  time_t now = time(0);
  struct tm* utc = gmtime(&now);
  cout << "UTC时间:" << asctime(utc);
  return 0;
}

上述代码中,我们通过gmtime函数将time_t类型的当前时间转换为了UTC时间的TM结构体类型。我们可以使用asctime函数将其转换为人类可读的格式。

4.比较时间大小

我们可以将time_t类型的时间转换为double类型,从而比较时间的大小。

#include <iostream>
#include <time.h>
using namespace std;
int main()
{
  time_t now = time(0);
  sleep(3);
  time_t later = time(0);
  if (difftime(now, later) < 0)
    cout << "时间now小于时间later" << endl;
  else if (difftime(now, later) > 0)
    cout << "时间now大于时间later" << endl;
  else
    cout << "时间now等于时间later" << endl;
  return 0;
}

上述代码中,我们先获取当前时间now,然后睡眠3秒,再获取当前时间later。我们使用difftime函数将二者转换为double类型后进行比较。

总结:

在C++中判断时间,可以使用time函数获取当前时间,使用localtime函数获取本地时间,使用gmtime函数获取UTC时间,使用difftime函数比较时间大小。以上函数都在time.h头文件中。

  
  
下一篇: LVQ算法C++代码

评论区