AMPscript の日時形式
AMPscript は、すべての日付データ型値で en-US または UTC 形式を使用することを想定しています。AMPscript では、ニーズに応じていくつかの異なる日時形式を出力できます。
ロケール設定を必要とする日時形式では、Format() 関数を使用することをお勧めします。
次の表は、Format() 関数と FormatDate() 関数の両方で使用可能な形式を示しており、表の後には例が示されています。使用可能なトークンと形式については、「AMPscript の日時形式 - Format() および FormatDate()」の長い表を参照してください。
次の表では、使用可能な形式について説明します。
| 年 (例: 2011) | 月 (例: August) | 日 (例: Monday, August 15) | 時 (例: 20) | 分 (例: :00) | 秒 (例: :05) | AM/PM (例: PM) | オフセット (例: -6:00) |
|---|
| y = 11 | M = 8 | d = 15 | h = 8 | m = 0 | s = 5 | t = P | z = -6 |
| yy = 11 | MM = 08 | dd = 15 | hh = 08 | mm = 00 | ss = 05 | tt = PM | zz = -06 |
| yyy = 2011 | MMM = Aug | dddd = Mon | H = 8 | - | - | - | zzz = -06:00 |
| yyyy = 2011 | MMMM = August | ddddd = Monday | HH = 20 | - | - | - | - |
M の出力は、M が単一関数で使用されているか、関数グループ内で使用されているかに応じて異なります。
単一関数では M 変数は数値として表示されます。
関数グループ内の単一の M の場合、結果は完全名の月と 2 桁形式の日になります。関数グループ内で M 変数と共に % 文字を使用すると、M 変数の出力は、M 変数が単一関数内にあるかのように表示されます。
次の例では、Now() 関数の結果を取得し、3 つの異なる形式を返します。
1%%[
2Output(Concat(Format(Now(),"M"), "<br>"))
3Output(Concat(Format(Now(),"M-d-yy"), "<br>"))
4Output(Concat(Format(Now(),"%M"), "<br>"))
5]%%
または
1%%[
2Output(Concat(FormatDate(Now(),"M"), "<br>"))
3Output(Concat(FormatDate(Now(),"M-d-yy"), "<br>"))
4Output(Concat(FormatDate(Now(),"%M"), "<br>"))
5]%%
結果:
次の例では、Now() 関数の結果を取得し、指定された形式で結果を返します。
%%=Format(Now(), "MMMM d, yyyy")=%%
または
%%=FormatDate(Now(), "MMMM d, yyyy")=%%
結果: August 15, 2011
次の例では、日付を書式設定し、指定された形式で日付を返します。
%%=Format("2011-08-15 20:00:05.567890", "MMM dd, yyyy h:mm:ss.tt", "Date", "en-US")=%%
または
%%=FormatDate("2011-08-15 20:00:05.567890", "MMM dd, yyyy", "l", "en-US")=%%
結果: Aug 15, 2011 8:00:05.PM
次の例では、Now() の値を取得してから、DateAdd() 関数を使用してオフセットし、指定された形式でその値を返します。
1%%[
2VAR @futureDate, @today
3SET @today = Now(1)
4SET @futureDate = DateAdd(@today, 11, "D")]%%
5Date: %%=Format(@futureDate, "MMMM d, yyyy")=%%
または
1%%[
2VAR @futureDate, @today
3SET @today = Now(1)
4SET @futureDate = DateAdd(@today, 11, "D")
5]%%
6Date: %%=FormatDate(@futureDate, "MMMM d, yyyy")=%%
日付が August 15, 2011 の場合、出力の日付は August 26, 2011 になります。
次の例では、すべての購読者または送信可能なデータエクステンションから、指定された形式で購読者の Birthday 属性を出力します。
%%[Output(Format([Birthday],"dd/MM/yyyy"))]%%
Birthday 属性が August 15, 2011 の場合、出力は 15/08/2011 になります。