std:: time_get
|
ヘッダーで定義
<locale>
|
||
|
template
<
class
CharT,
|
||
クラステンプレート
std::time_get
は日付と時刻の解析ルールをカプセル化します。I/Oマニピュレータ
std::get_time
は、I/Oストリームのロケールの
std::time_get
ファセットを使用して、テキスト入力を
std::tm
オブジェクトに変換します。
継承図
standard library によって提供されることが保証されていない
std::time_get
特殊化(下記参照)の場合、そのメンバ関数(コンストラクタとデストラクタを除く)の動作は指定通りであることが保証されません。
目次 |
特殊化
標準ライブラリは以下の特殊化を提供することが保証されています(これらは あらゆるロケールオブジェクトで実装が必須 とされています):
|
ヘッダーで定義
<locale>
|
|
| std :: time_get < char > | ナロウ文字列の日付と時刻表現を解析する |
| std :: time_get < wchar_t > | ワイド文字列の日付と時刻表現を解析する |
さらに、標準ライブラリは以下の型要件を満たすすべての特殊化を提供することも保証されています:
-
CharTは char と wchar_t のいずれかであり、 -
InputItは LegacyInputIterator の要件を満たさなければならない。
ネスト型
| 型 | 定義 |
char_type
|
CharT
|
iter_type
|
InputIt
|
データメンバ
| メンバー | 説明 |
std::locale::id
id
[static]
|
facet の識別子 |
メンバー関数
新しい
time_get
ファセットを構築する
(public member function) |
|
time_get
ファセットを破棄する
(protected member function) |
|
do_date_order
を呼び出す
(public member function) |
|
do_get_time
を呼び出す
(public member function) |
|
do_get_date
を呼び出す
(public member function) |
|
do_get_weekday
を呼び出す
(public member function) |
|
do_get_monthname
を呼び出す
(public member function) |
|
do_get_year
を呼び出す
(public member function) |
|
|
(C++11)
|
do_get
を呼び出す
(public member function) |
プロテクテッドメンバー関数
|
[virtual]
|
日、月、年の優先的な順序を取得する
(仮想保護メンバ関数) |
|
[virtual]
|
入力ストリームから時、分、秒を抽出する
(仮想保護メンバ関数) |
|
[virtual]
|
入力ストリームから月、日、年を抽出する
(仮想保護メンバ関数) |
|
[virtual]
|
入力ストリームから曜日の名前を抽出する
(仮想保護メンバ関数) |
|
[virtual]
|
入力ストリームから月の名前を抽出する
(仮想保護メンバ関数) |
|
[virtual]
|
入力ストリームから年を抽出する
(仮想保護メンバ関数) |
|
[virtual]
(C++11)
|
指定されたフォーマットに従って入力ストリームから日付/時刻の構成要素を抽出する
(仮想保護メンバ関数) |
std::time_base から継承 std:: time_base
ネストされた型
| 型 | 定義 |
dateorder
|
日付順序列挙型。値
no_order
,
dmy
,
mdy
,
ymd
, および
ydm
を定義
|
例
注意: 出力を確認するにはclangを選択してください。libstdc++は%b指定子を正しく実装していません: bug 78714 .
#include <iomanip> #include <iostream> #include <locale> #include <sstream> 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
関連項目
|
std::tm
の内容を文字シーケンスとして出力するためにフォーマットする
(クラステンプレート) |
|
|
(C++11)
|
指定されたフォーマットの日付/時刻値を解析する
(関数テンプレート) |