月の名前(省略形)他の文字はすべて出力文字列にそのままコピーされます。表34.3「有効なPGTYPESdate_fmt_ascの入力書式」にいくつかの可能性のある書式を示します。この関数の使用方法に関するアイディアを提供しています。出力行はすべて同じ日付、1959年11月23日に基づいています。1959PGTYPESdate_defmt_asc書式マスクを使用してCのchar*文字列からdate型の値に変換します。*str);この関数は、処理結果を格納するための日付型へのポインタ(d)、日付を解析するための書式マスク(fmt)、日付のテキスト表現を含むCのchar*文字列(str)を受付けます。テキスト表現は書式マスクに合った表現であることが仮定されています。文字列と書式マスクを1:1に対応付けする必要はありません。この関数は並んだ順番に解析し、年の位置を表すyyまたはyyyyを、月の位置を表すmmを、日の位置を表すddを検索します。表34.4「有効なrdefmtdateの入力書式」はいくつかの可能性のある書式を示します。これはこの関数の使用方法に関するアイディアを提供します。timestamp型Cのタイムスタンプ型を使用してプログラムからSQLのタイムスタンプ型データを扱うことができます。日付/時刻データ型を参照してください。以下の関数を使用してタイムスタンプ型を扱うことができます:PGTYPEStimestamp_from_ascテキスト表現のタイムスタンプをタイムスタンプ型変数に変換します。char*へのポインタ(endptr)を受付けます。現在ECPGは文字列全体を解析しますので、現時点では*endptrに最初の無効な文字の場所を格納をすることサポートしません。この関数は成功時変換後のタイムスタンプを返します。エラー時、PGTYPESInvalidTimestampが返され、errnoがPGTYPES_TS_BAD_TIMESTAMPに設定されます。許される日付指定の任意の組み合わせ、空白文字、許される時間指定を含むことができます。時間帯はECPGでサポートされていない点に注意してください。変換することはできますが、例えばPostgreSQLサーバが行うような計算を行うことはできません。時間帯指定は警告無しに無視されます。表34.5「有効なPGTYPEStimestamp_from_ascの入力書式」に入力文字列の例をいくつか示します。(時間帯指定は無視されます。(時間帯指定は無視されます。char*文字列に変換します。tstamp);この関数はtimestamp型のtstampを唯一の引数として受付け、timestamp型のテキスト表現を含む割り当てられた文字列を返します。PGTYPEStimestamp_current現在のタイムスタンプを取り出します。*ts);この関数は現在のタイムスタンプを取り出し、tsが指し示すtimestamp型変数に格納します。char*に変換します。(str_len)、変換に使用する書式マスク(fmtstr)を受付けます。成功するとこの関数は0を返します。エラーが発生した場合は負の値が返ります。書式マスクには以下の書式指定を使用することができます。書式指定はlibcのstrftime関数で使用されるものと同じです。書式指定以外は出力バッファにコピーされます。各言語の曜日名称に置換されます。各言語の曜日略称に置換されます。各言語の月名称に置換されます。各言語の月略称に置換されます。年を100で割った10進数に置換されます。1桁の場合は先頭に0が付与されます。各言語の日付時刻表現に置換されます。%m/%d/%yと同じです。月内の10進日数(01-31)に置換されます。POSIXロケール拡張です。いう並びは別の表現を提供するものと仮定されています。%OBは、(日に関する仕様がない単体で使用される)別の月名を表すものとして実装されています。月内10進日数(1-31)に置換されます。1桁の場合は前に空白が付けられます。%Y-%m-%dと同じです。世紀付の10進数として年に置換されます。この年は週の部分がより多く含まれます。(月曜が週の最初の日です。-%G同様に年に置換されますが、世紀の部分を除く10進数(00-99)になります。10進の時間(24時間単位)に置換されます(00-23)。10進の時間(12時間単位)に置換されます(01-12)。10進の年内日数に置換されます(001-366)。10進の時間(24時間単位)に置換されます(0-23)。1桁の場合は先頭に空白が付けられます。10進の時間(12時間単位)に置換されます(1-12)。1桁の場合は先頭に空白が付けられます。10進の分数に置換されます(00-59)。-10進の月数に置換されます(01-12)。