時間の加算と減算

DataWeave 2.1 は Mule 4.1 と互換性があります。 Mule 4.1 の標準サポートは 2020 年 11 月 2 日に終了しました。このバージョンの Mule は、拡張サポートが終了する 2022 年 11 月 2 日にその​​すべてのサポートが終了します。

このバージョンの Mule を使用する CloudHub には新しいアプリケーションをデプロイできなくなります。許可されるのはアプリケーションへのインプレース更新のみになります。

標準サポートが適用されている最新バージョンの Mule 4 にアップグレード​することをお勧めします。これにより、最新の修正とセキュリティ機能強化を備えたアプリケーションが実行されます。

この DataWeave の例では、日時型に対処する複数の加算および減算操作を示します。

この例では、以下を使用します。

  • 現在の日時を出力する ​now​ 関数。

  • Sting (文字列) 型を Period (期間) 型に強制変換する ​as​ 関数。

  • P<date>T<time>​ ​Period​ 日付型。

DataWeave
%dw 2.0
output application/json
var numberOfDays = 3
---
{
  yesterday: now() - |P1D|,
  theOtherDay: now() - ("P$(numberOfDays)D" as Period),
  a: |2003-10-01| - |P1Y|,
  b: |P1Y| - |2003-10-01|,
  c: |2003-10-01T23:57:59Z| - |P1Y|,
  d: |2003-10-01T23:57:59Z| + |P1Y|,
  e: |2003-10-01T23:57:59| - |P1Y|,
  f: |PT9M| - |23:59:56|,
  g: |23:59:56| + |PT9M|,
  h: |23:59:56-03:00| - |PT9M|,
  u: |23:59:56-03:00| - |22:59:56-03:00|,
  j: |23:59:56-03:00| - |22:59:56-00:00|,
  k: |2003-10-01T23:57:59| - |P2Y9M1D| - |PT57M59S| + |PT2H|,
  l: |23:59:56| - |22:59:56|,
  o: |2003-10-01| - |2002-09-23|,
  p: |2003-10-01T23:57:59Z| - |2002-10-01T23:57:59Z|,
  q: |2003-10-01T23:57:59| - |2002-10-01T23:57:59|
}
出力
{
  "yesterday": "2017-05-04T19:35:35.016Z",
  "theOtherDay": "2017-05-02T19:35:35.016Z",
  "a": "2002-10-01",
  "b": "2002-10-01",
  "c": "2002-10-01T23:57:59Z",
  "d": "2004-10-01T23:57:59Z",
  "e": "2002-10-01T23:57:59",
  "f": "23:50:56",
  "g": "00:08:56",
  "h": "23:50:56-03:00",
  "u": "PT1H",
  "j": "PT4H",
  "k": "2001-01-01T01:00:00",
  "l": "PT1H",
  "o": "P1Y8D",
  "p": "PT8760H",
  "q": "PT8760H"
}

関連する例