CTime類通過Format可以格式化輸出日期時間信息,通過控制Format的參數我們可以實現各種各樣的日期時間格式輸出,要想隨心所欲的控制輸出的格式,就需要搞清楚各個參數的意義,下面通過實例來說明各個Format參數的意義。
假設CTime對象當前的日期時間爲:2011-4-17 14:32:18 星期日 英文表示爲:Sunday, April 17, 2011 14:32:18,下表中列出了各種Format參數的輸出結果以及備註說明。
Format參數 | 輸出結果 | 備註 |
%a | Sun | 星期的縮寫(英文) |
%A | Sunday | 完整的星期名(英文) |
%b | Apr | 月份的縮寫(英文) |
%B | April | 完整的月份名(英文) |
%c | 04/17/11 14:32:18 | |
%d | 17 | 日(01-31) 支持# |
%H | 14 | 24小時制的小時(00-23) 支持# |
%I | 02 | 12小時制的小時(01-12) 支持# |
%j | 107 | 今年的第幾天(001-366) 支持# |
%m | 04 | 月(01-12) 支持# |
%M | 32 | 分鐘(00-59) 支持# |
%p | PM | 12小時制中的AM和PM |
%S | 18 | 秒鐘(00-59) 支持# |
%U | 16 | 一年中的第幾周,星期天作爲每週的第一天(00-53) 支持# |
%w | 0 | 工作日,週日爲0(0-6) 支持# |
%W | 15 | 一年中的第幾周,星期一作爲每週的第一天(00-53) 支持# |
%x | 04/17/11 | |
%X | 14:32:18 | |
%y | 11 | 兩位數表示的年(00-99) 支持# |
%Y | 2011 | 年 支持# |
%z | 中國標準時間 | |
%Z | 中國標準時間 |
使用方法
CTime tmNow = CTime::GetCurrentTime();
str = tmNow.Format(_T("%Y年%m月%d日")); // 2011年04月17日
str = tmNow.Format(_T("%Y-%m-%d %H:%M:%S")); // 2011-04-17 14:32:18
str = tmNow.Format(_T("%Y-%#m-%#d %H:%M:%S")); // 2011-4-17 14:32:18
str = tmNow.Format(_T("%c")); // 04/17/11 14:32:18
上面表格中,支持#號的意思是可以在輸出的時候去掉前面的0,注意上面代碼中倒數2、3行之間的區別,其餘的格式按照表格中各參數的意思組合起來即能獲取自己想要的格式。