推奨学習:「c チュートリアル 」
最初に 2 つのデータ型を紹介します。
1 つは time_t、時間関数に関連する変数です。定義された変数は、1970 年 1 月 1 日から経過した秒数を記録します。タイムスタンプ。
もう 1 つは構造ですtm,
struct tm { int tm_sec; // 秒,范围从 0 到 59 int tm_min; // 分,范围从 0 到 59 int tm_hour; // 小时,范围从 0 到 23 int tm_mday; // 一月中的第几天,范围从 1 到 31 int tm_mon; // 月份,范围从 0 到 11 int tm_year; // 自 1900 起的年数 int tm_wday; // 一周中的第几天,范围从 0 到 6 int tm_yday; // 一年中的第几天,范围从 0 到 365 int tm_isdst; // 夏令时 };
次に、時間処理に関連する関数が 3 つあります。
time_t time(time_t *time);
一般的に、time(NULL) を使用して、現在のタイムゾーンのタイムスタンプを取得できます。
struct tm *localtime(const time_t *timer);
time_t 型を現地時間の tm 構造体のポインタに変換します。
size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr)
str -- これは、結果の C 文字列がコピーされる宛先配列へのポインタです。
maxsize -- これは、str にコピーされる最大文字数です。
format -- これは、通常の文字と特殊な形式指定子の任意の組み合わせを含む C 文字列です。これらの形式指定子は、tm で指定された時間を表す対応する値を持つ関数に置き換えられます。
形式指定子:
指定子 |
意味 |
#インスタンス |
##%a
| 曜日の短縮名Sun | |
%A
| 完全な曜日名日曜日 | |
月の省略名 |
Mar | |
完全な月名 | ##3 月##%c |
|
日付と時刻の表現 Sun Aug 19 02 :56:02 2012 |
##%d | |
19 |
##%H | |
#14 |
% 私 | 12 時間形式の時間 (01-12) |
05 |
%j | 年間通算日 (001-366) |
231 | ##%m |
10 進数で表される月 (01-12) |
08
|
%MM |
ポイント (00-59) |
55
|
##%p |
AM または PM の名前 |
秒 (00 -61) | #02||
%U |
最初の日曜日を最初の週の初日とする、年の週数 (00-53) | 33 |
##%w |
10 進数表現 曜日、日曜日は 0 (0-6) で表現されます | #4 |
##%W |
の数最初の月曜日を最初の週の初日とする、年間の週 (00-53) |
34 |
##%x | ##日付表現#08/19/12 | |
時間表現 |
#02:50:06 | |
年、最後の 2 桁 (00 ~ 99) |
#01 |
|
年 |
2012 |
|
%Z |
时区的名称或缩写 |
CDT |
%% |
一个 % 符号 |
% |
4行代码实现在屏幕输出当前时间:
char str[50]; time_t now = time(NULL); strftime(str, 50, "%x %X", localtime(&now)); cout << str << endl;
以上がC++で現在の日付と時刻を単純に出力する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。