std::time_get
提供: cppreference.com
<tbody>
</tbody>

| ヘッダ <locale> で定義
|
||
template< class CharT, class InputIt = std::istreambuf_iterator<CharT> > class time_get; |
||
クラステンプレート std::time_get は日付と時間の解析ルールをカプセル化します。 入出力マニピュレータ std::get_time はテキスト入力を std::tm オブジェクトに変換するために入出力ストリームのロケールの std::time_get ファセットを使用します。
継承図
型の要件
-InputIt は LegacyInputIterator の要件を満たさなければなりません。
|
特殊化
2つのスタンドアロンな (ロケール非依存な) 完全特殊化と2つの部分特殊化が標準ライブラリによって提供されます。
ヘッダ
<locale> で定義 | |
std::time_get<char>
|
日付と時間のナロー文字列表現を解析します |
std::time_get<wchar_t>
|
日付と時間のワイド文字列表現を解析します |
std::time_get<char, InputIt>
|
カスタム入力イテレータを用いて日付と時間のナロー文字列表現を解析します |
std::time_get<wchar_t, InputIt>
|
カスタム入力イテレータを用いて日付と時間のワイド文字列表現を解析します |
さらに、 C++ のプログラム中で構築されたすべてのロケールオブジェクトは、これらの特殊化の独自の (ロケール固有の) バージョンを実装します。
メンバ型
| メンバ型 | 定義 |
char_type
|
CharT
|
iter_type
|
InputIt
|
メンバ関数
| 新しい time_get ファセットを構築します (パブリックメンバ関数) | |
| time_get ファセットを破棄します (プロテクテッドメンバ関数) | |
do_date_order を呼びます (パブリックメンバ関数) | |
do_get_time を呼びます (パブリックメンバ関数) | |
do_get_date を呼びます (パブリックメンバ関数) | |
do_get_weekday を呼びます (パブリックメンバ関数) | |
do_get_monthname を呼びます (パブリックメンバ関数) | |
do_get_year を呼びます (パブリックメンバ関数) | |
(C++11) |
do_get を呼びます (パブリックメンバ関数) |
メンバオブジェクト
static std::locale::id id |
ロケールの id (パブリックメンバオブジェクト) |
プロテクテッドメンバ関数
[仮想] |
日、月、年の推奨順序を取得します (仮想プロテクテッドメンバ関数) |
[仮想] |
入力ストリームから時、分、秒を抽出します (仮想プロテクテッドメンバ関数) |
[仮想] |
入力ストリームから月、日、年を抽出します (仮想プロテクテッドメンバ関数) |
[仮想] |
入力ストリームから曜日の名前を抽出します (仮想プロテクテッドメンバ関数) |
[仮想] |
入力ストリームから月の名前を抽出します (仮想プロテクテッドメンバ関数) |
[仮想] |
入力ストリームから年を抽出します (仮想プロテクテッドメンバ関数) |
[仮想] (C++11) |
指定された書式に従って、入力ストリームから日付時刻のコンポーネントを抽出します (仮想プロテクテッドメンバ関数) |
std::time_base から継承
| 型 | 定義 |
dateorder
|
値 no_order、 dmy、 mdy、 ymd および ydm を定義する、日付の順序の列挙型
|
例
注: 出力を観察するには clang を使用してください。 libstdc++ は %b 指定子を正しく実装していません (bug 78714)。
Run this code
#include <iostream>
#include <sstream>
#include <locale>
#include <iomanip>
int main()
{
std::tm t = {};
std::istringstream ss("2011-Februar-18 23:12:34");
ss.imbue(std::locale("de_DE.utf-8"));
ss >> std::get_time(&t, "%Y-%b-%d %H:%M:%S");
if (ss.fail()) {
std::cout << "Parse failed\n";
} else {
std::cout << std::put_time(&t, "%c") << '\n';
}
}
出力例:
Sun Feb 18 23:12:34 2011
関連項目
文字シーケンスとして出力するために struct std::tm の内容をフォーマットします (クラステンプレート) | |
(C++11) |
指定された書式の日付/時刻の値をパースします (関数テンプレート) |