如何在C++中查看时间
How can I check time in C++?
我的目标是编写一个可以执行以下操作的程序:当用户输入将来的时间点时,它应该以格式 (hh:mm:ss) 显示到该时间时刻的时间,如果用户请求时间,它应该以某种格式(hh:mm:ss)返回当前时间。如何使用系统时间来实现我的目标?到目前为止,我目前的状态:
#include <iostream>
#include<conio.h>
using namespace std;
class Time{
int hour, minute, second;
public:
void SetTime(int hour1=0, int minute1=0, int second1=0){
hour = hour1;
minute=minute1;
second=second1;
cout<<"set time working";
}
void display(){
cout<<"hour | minute | second"<<endl;
cout<<hour<<" "<<minute<<" "<<second;
}
};
int main(){
Time time;
//char om;
int hour1, minute1,second1;
cout<<"enter the hour,minute,second: ";
cin>>hour1;
cin>>minute1;
cin>>second1;
time.SetTime(hour1,minute1,second1);
cout<<"n The current time?";
time.display();
return 0;
}
我建议你稍微作弊。开始时,就在用户输入时间之前或之后,您将获得系统时钟值。然后等待用户询问时间。当他询问时,再次获取系统时钟值,从中减去前一个值 - 这将给你经过的时间量。将此金额添加到用户输入的时间,并显示结果。
您必须使用 C 时间函数来获取计算机时钟的时间。
基本思想如下:
- 询问用户"他的"时间
- 同时保存计算机的当前时间
何时显示更新的当前时间:
- 检查计算机当前时间
- 使用以前存储的时间作为增量计算用户的当前时间
为此,由于 C"time"函数的工作方式,我必须在程序中以秒为单位存储时间变量,因此我必须在一个存储秒的变量中转换小时、分钟和秒。
函数如下:
#include <iostream>
#include <conio.h>
#include <time.h>
using namespace std;
class Time {
private:
time_t userTime;
time_t computerTime;
public:
void SetTime(int hour1 = 0, int minute1 = 0, int second1 = 0)
{
userTime = hour1 * 60 * 60 + minute1 * 60 + second1; // Convert input time in seconds.
time(&computerTime); // Get computer's current time.
cout<<"set time working";
}
void display()
{
time_t currentComputerTime;
time(¤tComputerTime); // Get computer's updated current time.
time_t currentUserTime = userTime + (currentComputerTime - computerTime); // Calculate current user's time in seconds.
// Convert time_t variable in hours, minutes and seconds.
int hour = currentUserTime / (60 * 60);
int minute = (currentUserTime / 60) % 60;
int second = currentUserTime % 60;
cout<<"hour | minute | second"<<endl;
cout<<hour<<" "<<minute<<" "<<second;
}
};
int main()
{
Time time;
//char om;
int hour1, minute1,second1;
cout<<"enter the hour,minute,second: ";
cin>>hour1;
cin>>minute1;
cin>>second1;
time.SetTime(hour1,minute1,second1);
char pcz[200];
cout<<"n The current time?";
cin >> pcz;
time.display();
return 0;
}
相关文章:
- C++为构建时间获取QDateTime的可靠方法
- 从持续时间构造std::chrono::system_clock::time_point
- 向量 <int> a {N, 0} 和 int arr a[N] = {0} 的时间复杂度有什么区别
- while循环中while循环的时间复杂度是多少
- 使用简单类型列表实现的指数编译时间.为什么
- 是否可以在编译时初始化数组,以便在运行时不会花费时间?
- 在已经使用Git的情况下减少编译时间
- 有没有一种方法可以创建一个带有哈希表的数据库,该哈希表具有恒定时间查找功能
- 如何将包含epoch时间的十六进制字符串转换为time_t
- 从文本文件中读取时钟时间和事件时间并进行处理
- 具有未知值时的时间复杂性
- 如何减少花费的时间
- C++在变量给定的指定时间内关闭电脑
- rcpp函数中的清理时间很长
- C++:floor unix时间戳到UTC月份
- 如何在c++中录制具有精确帧时间戳的视频
- 在两台机器之间进行时间戳的最佳c++chrono函数是什么
- KMP算法和LPS表构造的运行时间
- 为什么std::互斥需要很长的、非常不规则的时间来共享
- 使用Boost Interprocess创建托管共享内存需要很长时间