将时间转换为小时,分钟和秒

时间:2018-01-17 22:02:27

标签: c++

我正在编写一个将时间转换为:小时,分钟和秒的c ++程序。
我需要做的是将时间转换为:HH:MM:SS,无论如何,这里是我的代码:

#include <iostream>
using namespace std;

int main() {
    long time, hour, min, sec;
    cout<<"Enter elapsed time: ";
    cin>>time;
    cout<<time;
    hour = time/3600;
    min = (time%3600) / 60;
    sec = (time%3600) % 60;
    cout<<"\nIn HH:MM:SS -> ";
    cout<<hour<<":"<<min<<":"<<sec;
    return 0;
}


当我在示例中输入时间:3600时,它显示1:0:0,而不是我期待的形式,所以我需要它显示为&#34; 01:00: 00&#34;以这种形式。我该怎么办?

1 个答案:

答案 0 :(得分:1)

包括<iomanip>并使用std::setfillstd::setw来定义您要用于填充的字符以及要打印的字段的宽度。

std::cout << std::setfill('0') << std::setw(2) << hour << ":"; 
std::cout << std::setfill('0') << std::setw(2) << min << ":" 
std::cout << std::setfill('0') << std::setw(2) << sec;