フォーマット関数 ​

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

フォーマット関数は、値を人または宛先システムが読み取る文字列に変換します。また、文字列を解析して値に戻します。

ここで重要なのは、フォーマットと変換の区別です。 format_dateは、表示用、または特定のレイアウトを要求するシステム用のテキストを生成します。日付は生成しません。結果はStringであり、算術演算をサポートしていません。最後のフォーマット手順まで、値は元の型のまま保持してください。

機能の提供状況

WELは現在、一部のお客様にご利用いただけます。ご利用のワークスペースで利用可能かどうかを確認するには、Customer Success Representativeにお問い合わせください。

日付と時刻のフォーマット ​

format_date、format_datetime、format_timeはそれぞれ、strftimeパターンまたは名前付きプリセットを受け取ります。次の表に一般的なディレクティブを示します。

ディレクティブ意味例
%Y4桁の年2026
%m2桁の月03
%d2桁の日15
%b月の省略名Mar
%H時、24時間制09
%M分30
%S秒00

format_date ​

PlainDateをフォーマットします。

text
format_date(date, pattern)
パラメーター説明
dateフォーマットするPlainDate。
patternstrftimeパターンまたは名前付きプリセット。
日付を日/月/年としてフォーマット

次の例では、日/月/年パターンを使用して日付をフォーマットします。

Formula

text
format_date(PlainDate('2026-03-15'), '%d/%m/%Y')

出力

text
15/03/2026

format_datetime ​

DateTimeまたはPlainDateTimeをフォーマットします。

text
format_datetime(datetime, pattern)
パラメーター説明
datetimeフォーマットするDateTimeまたはPlainDateTime。
patternstrftimeパターンまたは名前付きプリセット。
日時を日付と時刻付きでフォーマット

次の例では、日付と時刻の両方を表示する日時をフォーマットします。

Formula

text
format_datetime(DateTime('2026-03-15T09:30:00Z'), '%Y-%m-%d %H:%M')

出力

text
2026-03-15 09:30

format_time ​

PlainTimeをフォーマットします。

text
format_time(time, pattern)
パラメーター説明
timeフォーマットするPlainTime。
patternstrftimeパターンまたは名前付きプリセット。
時刻を時と分としてフォーマット

次の例では、時刻を時と分としてフォーマットします。

Formula

text
format_time(PlainTime('09:30:00'), '%H:%M')

出力

text
09:30

標準タイムスタンプ形式 ​

プロトコルで標準レイアウトが必要な場合は、手書きのパターンよりもto_rfc3339とto_rfc2822を優先してください。これらの関数は、手動で維持されるパターンに依存せずに、必要な形式を保持します。

to_rfc3339 ​

DateTimeをRFC 3339としてフォーマットします。これは、ほとんどのJSON APIで想定される形式です。

0以外の秒を含むオフセットを拒否します。

text
to_rfc3339(datetime)
パラメーター説明
datetimeフォーマットするDateTime。
日時をRFC 3339としてフォーマット

次の例では、日時をRFC 3339としてフォーマットします。

Formula

text
to_rfc3339(DateTime('2026-03-15T09:30:00Z'))

出力

text
2026-03-15T09:30:00Z

to_rfc2822 ​

DateTimeをRFC 2822としてフォーマットします。これはメールヘッダーで使用される形式です。

0以外の秒を含むオフセットを拒否します。

text
to_rfc2822(datetime)
パラメーター説明
datetimeフォーマットするDateTime。
日時をRFC 2822としてフォーマット

次の例では、日時をRFC 2822としてフォーマットします。

Formula

text
to_rfc2822(DateTime('2026-03-15T09:30:00Z'))

出力

text
Sun, 15 Mar 2026 09:30:00 +0000

日時の解析 ​

次の関数は、文字列を時間型に解析します。これは、フォーマットの逆の処理です。

parse_datetime ​

文字列をDateTimeに解析します。

text
parse_datetime(text, options)
パラメーター説明
テキスト解析する文字列。
options文字列の解析方法を制御する任意のマップ。
  • format: 入力を記述するstrftimeパターン。
  • default_tz: 入力にタイムゾーンが含まれていない場合に想定するタイムゾーン。
  • on_gap: 夏時間の変更によってスキップされたために存在しない時刻を解決する方法。
  • on_fold: 夏時間の変更によって繰り返されたために2回発生する時刻を解決する方法。

認識されないオプションキーは無視されず、E222を発生させます。

RFC 3339日時文字列を解析

次の例では、RFC 3339形式の日時文字列を解析します。

Formula

text
parse_datetime('2026-03-15T09:30:00Z')

出力

text
2026-03-15T09:30:00Z
カスタム形式を使用して日時を解析

次の例では、カスタムの日/月/年形式を使用して日時文字列を解析します。

Formula

text
parse_datetime('15/03/2026', {format: '%d/%m/%Y'})

出力

text
2026-03-15T00:00:00Z

日付のみの文字列はUTCの午前0時になります

2行目は00:00:00Zに解析されます。これは、DateTimeには時刻とゾーンが必要で、入力にはどちらも指定されていないためです。値が瞬間ではなくカレンダー日付である場合は、代わりにPlainDateを使用してください。 PlainDateでは、後続のステップでゾーンが適用されても日付がずれることはありません。

入力にゾーンがないものの、その入力がどのゾーンから来たか分かっている場合は、default_tzを使用してください。指定しない場合、ローカル時刻があいまいになる、または存在しない年2日の処理は、on_gapとon_foldによって決まります。

parse_plain_datetime ​

ゾーンが付いていない文字列をPlainDateTimeに解析します。

唯一のオプションはformatです。認識されないオプションキーはE222を発生させます。

text
parse_plain_datetime(text, options)
パラメーター説明
テキスト解析する文字列。
optionsformatキーを持つ任意のマップ。
カスタム形式を使用してプレーン日時を解析

次の例では、カスタム形式を使用してプレーン日時文字列を解析します。

Formula

text
parse_plain_datetime('2026-03-15 09:30', {format: '%Y-%m-%d %H:%M'})

出力

text
2026-03-15T09:30:00

数値のフォーマット ​

これらはいずれも、引数として渡されるのではなく、Transform dataアクションで設定されるデータプレーンロケールを使用します。同じ式でも、ロケールによってレンダリングが異なります。

次の例は、デフォルトロケールen-USを示しています。

to_local_string ​

ロケールの桁区切り記号と小数点記号を使用して数値をフォーマットします。

text
to_local_string(number)
パラメーター説明
numberフォーマットする数値。
ロケールの桁区切りを使用して数値をフォーマット

次の例では、ロケールの桁区切り記号と小数点記号を使用して数値をフォーマットします。

Formula

text
to_local_string(1234567.891)

出力

text
1,234,567.89

to_local_currency ​

ロケールの通貨記号と表記規則を使用して、数値を通貨金額としてフォーマットします。

text
to_local_currency(number)
パラメーター説明
numberフォーマットする数値。
数値を通貨金額としてフォーマット

次の例では、数値を通貨金額としてフォーマットします。

Formula

text
to_local_currency(1234.5)

出力

text
$1,234.50

リストを文字列に結合 ​

次の関数は、リストの要素を1つの区切り文字付き文字列に結合します。

join_to_string ​

任意の区切り文字を使用して、リストの要素を1つの文字列に結合します。区切り文字を省略すると、要素が直接連結されます。

text
join_to_string(list, separator)
パラメーター説明
list結合するリスト。
separator要素間に配置される任意の文字列。
区切り文字を使用してリスト要素を結合

次の例では、カンマ区切り文字を使用してリスト要素を結合します。

Formula

text
join_to_string(['a', 'b', 'c'], ', ')

出力

text
a, b, c
区切り文字なしでリスト要素を結合

次の例では、区切り文字なしでリスト要素を直接結合します。

Formula

text
join_to_string(['a', 'b'])

出力

text
ab

join_to_local_string ​

指定した区切り文字ではなく、データプレーンロケールのリスト区切り文字を使用して要素を結合します。

text
join_to_local_string(list, separator)
パラメーター説明
list結合するリスト。
separatorロケールの区切り文字に対する任意のオーバーライド。
ロケール区切り文字を使用してリスト要素を結合

次の例では、データプレーンロケールの区切り文字を使用してリスト要素を結合します。

Formula

text
join_to_local_string(['a', 'b', 'c'])

出力

text
a, b, c

WELへのシリアライズ ​

次の関数は、ログ記録とデバッグのために、値をWEL独自のリテラル構文にシリアライズします。

to_wel ​

値を、同じ値に解析し直せるWELリテラルにシリアライズします。

to_welは、値の近似ではなく、値の実態を正確に示すため、ログ記録や変換のデバッグに役立ちます。レシピの外に出るデータにはto_jsonを使用します。

text
to_wel(value)
パラメーター説明
valueシリアライズする値。
マップをWELリテラルにシリアライズ

次の例では、マップをWELリテラルにシリアライズします。

Formula

text
to_wel({sku: 'WID-1', qty: 3})

出力

text
{sku: 'WID-1', qty: 3}

ユースケース: 注文確認行の作成 ​

注文確認行では、複数の値を組み合わせて1つの完成した文にする必要があります。最後に一度だけ、f-stringで値をフォーマットします。

入力

json
{
  "id": "SO-1001",
  "ship_date": "2026-03-15",
  "total": 149.5
}

Formula

text
f"Order {_.id} ships {format_date(PlainDate(_.ship_date), '%d %b %Y')} for {to_local_currency(_.total)}"

出力

json
"Order SO-1001 ships 15 Mar 2026 for $149.50"

日付はフォーマット前にPlainDateに変換されるため、日付がずれることはありません。通貨はハードコーディングせずにロケールに任せるため、別の地域向けに設定されたレシピでも同じ式が正しく機能します。

最終更新日: