21xrx.com
2025-04-02 09:11:20 Wednesday
文章检索 我的文章 写文章
C++如何输入时间?
2023-06-28 07:46:02 深夜i     20     0
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++中很方便地输入指定的时间信息,并将其转换为时间戳。这对于需要进行时间计算或比较的应用程序来说非常有用。

  
  

评论区