21xrx.com
2024-05-20 04:06:30 Monday
登录
文章检索 我的文章 写文章
如何在C++中判断时间?
2023-07-08 21:15:34 深夜i     --     --
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++代码

评论区

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