以下是我在c ++中的程序。请帮忙。感谢。
void Time::showTime() { cout << "Your time in 24 hours military standard is " << hour << ":" << minute << endl; }
答案 0 :(得分:3)
cout << setw (2) << setfill ('0') << minute << "\n";
请注意:
endl
。只需插入\n
代替 - endl
也可以刷新流,这通常是不需要的。setw
和setfill
,您需要#include <iomanip>
答案 1 :(得分:1)
这是strftime
设计的任务。它消除了setfill
,setw
等的相当多的工作:
#include <iostream>
#include <ctime>
#include <string>
enum conv {UTC, LOCAL};
std::string fmt(char const *fmt, time_t p=time(NULL), conv c = LOCAL) {
char buffer[512];
struct tm n = c == LOCAL ? *localtime(&p) : *gmtime(&p);
strftime(buffer, sizeof(buffer), fmt, &n);
return std::string(buffer);
}
int main() {
std::cout << fmt("Your time in 24 hours military standard is %H:%M\n");
}
理论上,C ++ 11添加了<chrono>
和put_time
操纵器,可以让您更清晰地进行检索和格式化,但实际编译器中的支持最多... 。大多数似乎都有代码来检索时间,但是put_time
操纵器在相当多的流行实现中仍然缺失。