AMPscript の共通文字列トークン
Format() および FormatDate() 関数を使用して AMPscript の日付と時刻を書式設定するために使用できる共通文字列トークンの例を確認します。
「s」または「short」トークン
時刻パラメーターで任意の短いトークンオプションを使用すると、指定したカルチャーコードに基づいて短い時刻 (例: 1:09 PM) が追加されます。次の例では、短いトークン「s」を使用して、指定された形式で時間値 18:30 を 12 時制の値として書式設定します。
1%%=FormatDate(Now(), "MMMMM d", "")=%% at %%=FormatDate(Now(), "", "s")=%%
結果: December 1 at 6:30 PM
Format() と FormatDate() の動作は異なります (短い日付の値が異なります)。
- 「s」、「S」、または「short」を使用した場合、FormatDate() では短い日付 (例: 10/19/2017) が出力されます。
1%%[Output(FormatDate(@date,"s"))]%% or
2%%[Output(FormatDate(@date,"S"))]%% or
3%%[Output(FormatDate(@date,"short"))]%%
結果: 10/19/2017
- 「sortable」を使用した場合、FormatDate() では並び替え可能な日付 (例: 2017-10-19) が出力されます。
1%%[Output(FormatDate(@date,"sortable"))]%%
結果: 10/19/2017
- 「s」を使用した場合、Format() では並び替え可能な日付 (例: 2017-10-19) が出力されます。
<<<<<<< HEAD
1%%[Output(FormatDate(@date,"sortable"))]%%
======= %%[Output(FormatDate(@date,“sortable”))]%%
739bbde86e31134996a40e9392e4310c1a60839c
結果: 2017-10-19T13:09:34
- 「S」を使用した場合、Format() では「L」と同じ形式 (例: 10/5/2017 1:09:34 PM) が出力されます。
<<<<<<< HEAD
1%%[Output(Format(@date,"S"))]%%
======= %%[Output(Format(@date,“S”))]%%
739bbde86e31134996a40e9392e4310c1a60839c
結果: 10/19/2017 1:09:34 PM
「l」または「long」トークン
次の例では長いトークン「l」を使用して、日付を標準のカルチャーベースの日付形式に書式設定します。
1%%[
2VAR @date1, @date2, @date3
3SET @date1 = "2017-10-05 13:09:34.567-06:00"
4SET @date2 = "2017-10-05 13:09:34"
5SET @date3 = "10/5/2017 1:09:34 PM"
6]%%
7%%=Format(@date1, "L", "Date", "en-US")=%%
8%%=Format(@date2, "L", "Date", "en-US")=%%
9%%=Format(@date3, "L", "Date", "en-US")=%%
結果:
12017-10-05 13:09:34.567-06:00
22017-10-05 13:09:34
310/5/2017 1:09:34 PM
FormatDate() では、「l」トークンで異なる文字列が生成されます。FormatDate() では「long」を使用することもできます。
1%%=FormatDate(@date, "L")=%% or %%=FormatDate(@date, "long", "", "en-US")=%%
結果: Tuesday, September 10, 2019
長い時刻トークンを含めると、完全長の日時が表示されます。
1%%=FormatDate(@date, "l", "l")=%%
結果: Tuesday, September 10, 2019 1:09:34 PM
「o」または「iso」トークン
このトークンでは、CST (-06:00) の ISO 8601 標準に準拠する日時が返されます。このトークンでは、指定されたロケールに基づいて出力が変更されることはありません。
「o」トークンは Format() と FormatDate() の両方で使用できます。Format() には、一秒未満の値またはタイムゾーンオフセットインジケータは含まれません。FormatDate() で日付と時刻の両方に「o」を使用すると、それぞれの完全な日時スタンプが出力されます。
「iso」トークンは FormatDate() で使用でき、FormatDate() の「o」と同じ結果を生成します。FormatDate() の時刻パラメーターでは「iso」はサポートされません。
1SET @date = '2017-10-05 13:09:34.567890-5:00'
2%%=Format(@date, "o")=%%
結果: 2017-10-19T12:09:34.0000000
1%%=FormatDate(@date, "o", "", "fi-FI")=%%
結果: 2017-10-19T12:09:34.5678900-06:00
「rfc」または「r」トークン
「rfc」トークンでは、CST (-06:00) の RFC 1123 標準に準拠する日時が返されます。このトークンでは、指定されたロケールに基づいて出力が変更されることはありません。出力がサーバ時刻 (-06:00) であっても、GMT が出力に追加されます。
「r」トークンは Format() と FormatDate() の両方で使用できます。FormatDate() で日付と時刻の両方に「r」を使用すると、それぞれの完全な日時スタンプが出力されます。
「rfc」トークンは FormatDate() で使用でき、FormatDate() の「r」と同じ結果を生成します。FormatDate() の時刻パラメーターの値として「rfc」はサポートされません。
1SET @date = '2017-10-05 13:09:34.567890-00:00'
2%%=Format(@date, "r")=%%
結果: Thu, 19 Oct 2017 07:09:34 GMT
ロケール設定を必要とする日時形式では、Format() 関数を使用することをお勧めします。