首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

C++ Format 函數時間格式化:%02d 確保雙位數顯示 (23:08:48)

     編輯:程式設計疑難解答

問題

CTime::Format("%H:%M:%S") 輸出 23:8:48,分鐘缺前導零。

解決

CString strTime = time.Format(_T("%H:%02M:%S")); // MFC CTime
// 或
CString strTime;
strTime.Format(_T("%02d:%02d:%02d"), hour, minute, second); // 通用 Format

格式字串對照表

規格符含義範例
%H24小時制 (0-23)23
%02H同上,強制兩位08
%M分鐘 (0-59)8
%02M分鐘兩位08
%S秒 (0-59)48

標準 C++ iomanip 替代

#include <iomanip>
cout << setfill('0') << setw(2) << hour << ':'
     << setw(2) << minute << ':'
     << setw(2) << second;
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved