# 日時書式（ユーザー書式）

マニュアル > コントロールリファレンス > 日時書式 > # 日時書式（ユーザー書式） |

ユーザー書式について

本頁では、日時書式の「ユーザー書式」に関する仕様について解説します。

ユーザー書式では、DateTimeFormatConfルートプロパティに対して書式設定の登録を行うことにより、ユーザー側で自由な書式を追加することができます。

また、ユーザー書式の定義にて、システム書式のデフォルト書式（@DATETIME）やISO書式（@ISO）を上書きして定義することにより、@DATETIMEなどのデフォルト書式の振る舞いを自由にカスタマイズすることができます。

ユーザー書式の仕様

■基本仕様

[@日時書式名]

プロパティ名=設定値

・・・

まず、ユーザー書式の定義では、日時書式名を [ ] で囲んで定義します。 [ ] 内に記述する書式名の先頭は、必ず「@」で始まる文字列である必要があります。

そして、日時書式名を定義した行の次行以降に、プロパティ=設定値として１行ずつ記述します。

尚、複数の書式を追加する場合は、[ ] のセクションを新たに作成し、続けて定義することができます。

[@日時書式名1] プロパティ名=設定値 ... [@日時書式名2] プロパティ名=設定値 ...

日時書式に指定が可能なプロパティに関する詳細は、「日時書式のプロパティ書式」を参照してください。

設定例（DateTimeFormatConfルートプロパティ）

参考として、DateTimeFormatConfプロパティの設定例を紹介します。

■Formatプロパティによる設定例

Format= の後に、Formatプロパティ用書式に従って記述します。

[@SAMPLE01] Format=%Y/%m/%d %H:%M:%S

尚、Formatプロパティによる定義では、利用時にオプションの指定はできません。（@SAMPLE01.D などは指定できない）

■Baseプロパティによる設定例

Base=　の後に、Baseプロパティ用書式に従って記述します。

[@SAMPLE02] Base=y-m-d H:M:S

Baseプロパティによる定義では、利用時にオプションの指定が可能です。（@SAMPLE02.D など）

■複数の日時書式の設定例

複数の書式を追加する場合は、以下のように続けて記述することができます。

[@SAMPLE01] Format=%Y/%m/%d %H:%M:%S TimeZone=US Eastern Standard Time [@SAMPLE02] Base=y-m-d H:M:S

■システム書式「@ISO」のカスタマイズ例

システム書式「@ISO」と同じ名前で日時書式名を定義することで、システム書式を上書きすることができます。

ここでは例として、 Base=　の後に、Baseプロパティ用書式に従って記述します。

[@ISO] Base=y/m/d H:M:S

上記の設定により、日時書式に「@ISO」と指定すると、「2017-02-18 02:59:45」→「2017/02/18 02:59:45」となります。

■システム書式「@DATETIME」のカスタマイズ例

システム書式「@DATETIME」と同じ名前で日時書式名を定義することで、システム書式を上書きすることができます。

ここでは例として、 以下のように記述してみます。

[@DATETIME] All=@LOCALE AM=am. PM=pm.

上記の動作としては、全プロパティを＠LOCALEから引き継いだ後、AM、PMのプロパティのみが変更されます。

尚、上記を設定することにより、日時書式に「@DATETIME.DT.%p」と指定すると、「2017/02/18 02:59:45 PM」→「2017/02/18 02:59:45 pm.」となります。

| システム書式の「@ISO」および「＠DATETIME」は、システム内部では以下のように定義されています。 [@ISO] Base=y-m-d H:M:S [@DATETIME] All=@LOCALE