如何将演示时间从23:7:42固定到23:07:42

How to fix time presentation from 23:7:42 to 23:07:42

本文关键字:时间      更新时间:2023-10-16

我应该让它成为string吗?或者有一种简单的方法可以留在int

class TimeFixer {
private:
    int seconds=0;
    int minutes=0;
    int hours=0;

public:
    TimeFixer() {
        cout << "Enter hours,minutes,seconds: " ;
        cin >> hours;
        cin >> minutes;
        cin >> seconds;
    }
    void fixTime() {
        while (seconds >= 60) {
            seconds -= 60;
            minutes++;
        }
        while (minutes >= 60) {
            minutes -= 60;
            hours++;
        }
        while (hours >= 24) {
            hours -= 24;
        }
    }
    void displayTime() {
        cout << hours << ":" << minutes << ":" << seconds << endl;
    }
};
int main()
{
    int value = 0;
    cout << "Enter value: " ;
    cin >> value;
    TimeFixer *fix1;
    fix1 = new TimeFixer[value]();
    for (int i = 0 ; i < value ; i++) {
        fix1[i].fixTime();
        fix1[i].displayTime();
    }
    return 0;
}

您可以使用setfill()和setw()函数来根据您的需求显示数据,Niall也建议这样做。

即。您可以使用以下方式来显示时间。

void displayTime() {
   cout << setfill ('0') << setw (2)<< hours << ":"  << setw (2)<< minutes << ":" << setw (2)<< seconds << endl ;
}

例如视图:http://codepad.org/NNL930Im