c++ 怎么控制输出的两位数不足十的时候用零来补齐前面空余的位数
使用包含于头文件 iomanip 的:
setw()设置宽度、
setfill()设置填充字符
问题:设计一个程序,能以小时:分钟:秒 的形式表示当前格林尼治标准时间和北京时间
(数据输出格式eg: 当前格林尼治标准时间为:22:05:09)
/**************************************************************************
*Author: distiny_
*Date:2020-02-10
**************************************************************************/
#include <iostream>
#include <iomanip>
#include <ctime>
using namespace std;
int main()
{
int seconds = time(0);//返回自格林尼治标准时间至当前时刻所流逝的秒数
int NowSecond = seconds % 60;
int minutes = seconds / 60;
int NowMinute = minutes % 60;
int hours = minutes / 60;
int NowHour = hours % 24;
cout << "当前格林尼治标准时间为 :"<< NowHour << ":" << setw(2) << setfill('0') << NowMinute << ":" << NowSecond << endl;//setw中的2设置宽度2 setfill('0')设置填充字符0
cout << "当前北京时间 :" << NowHour + 8 << ":" << setw(2) << setfill('0') << NowMinute << ":" << NowSecond;
return 0;
}
仓促成文,不当之处,还请指教