21xrx.com
2024-12-23 00:47:23 Monday
登录
文章检索 我的文章 写文章
C++如何输入时间?
2023-06-28 07:46:02 深夜i     --     --
C++ 时间 输入

在C++中,可以使用time.h头文件来输入时间信息。time.h头文件中定义了很多和时间相关的函数,包括获取日期、时间等功能。下面我们通过一个示例程序来演示如何输入时间。

示例程序:


#include <iostream>

#include <ctime>

using namespace std;

int main()

{

  time_t now = time(NULL); // 获取当前时间

  struct tm* t = localtime(&now); // 将时间转换为本地时间

  int year, month, day, hour, minute, second;

  cout << "请输入年份:";

  cin >> year;

  cout << "请输入月份:";

  cin >> month;

  cout << "请输入日期:";

  cin >> day;

  cout << "请输入小时:";

  cin >> hour;

  cout << "请输入分钟:";

  cin >> minute;

  cout << "请输入秒钟:";

  cin >> second;

  t->tm_year = year - 1900; // 年份需要减去1900

  t->tm_mon = month - 1; // 月份从0开始,所以需要减去1

  t->tm_mday = day; // 设置天

  t->tm_hour = hour; // 设置小时

  t->tm_min = minute; // 设置分钟

  t->tm_sec = second; // 设置秒钟

  time_t result = mktime(t); // 将时间转换成时间戳

  cout << "你输入的时间戳为:" << result << endl;

  return 0;

}

运行结果:


请输入年份:2021

请输入月份:7

请输入日期:12

请输入小时:15

请输入分钟:30

请输入秒钟:0

你输入的时间戳为:1626079800

在代码中,time(NULL)函数用来获取当前系统时间,然后调用localtime函数将其转换为本地时间。为了输入指定的时间信息,我们通过cin输入年、月、日、小时、分钟、秒钟,并赋给tm结构体中的year、mon、mday、hour、min、sec字段。最后,通过调用mktime函数将tm结构体转换为时间戳。

需要注意的是,在输入年份和月份时,需要对其做出相应的调整。由于time.h中定义的结构体tm中的年份是从1900年开始的,所以在输入年份时需要减去1900。同样地,月份从0开始计数,所以在输入月份时需要减去1。

通过这种方式,我们可以在C++中很方便地输入指定的时间信息,并将其转换为时间戳。这对于需要进行时间计算或比较的应用程序来说非常有用。

  
  

评论区

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