日付および時間関数

変数

now

YYYY-MM-DD-hhss形式で現在の時間を取得します。

タイムスタンプ

現在の時刻をUnix タイムスタンプとして取得します。

関数

addSeconds(date; number)

指定された秒数を日付に追加した結果として、新しい日付を返します。 秒数を減算するには、負の数を入力します。

例:

  • addSeconds(2016-12-08T15:55:57.536Z;2)

    2016-12-08T15:55:59.536Z を返します。

  • addSeconds(2016-12-08T15:55:57.536Z;-2)

    2016-12-08T15:55:55.536Z を返します。

addMinutes(date; number) addminutes-date-number

指定された分数を日付に追加した結果として、新しい日付を返します。 分数を減算するには、負の数を入力します。

例:

  • addMinutes(2016-12-08T15:55:57.536Z;2)

    2016-12-08T15:57:57.536Z を返します。

  • addMinutes(2016-12-08T15:55:57.536Z;-2)

    2016-12-08T15:53:57.536Z を返します。

addHours(date; number) addhours-date-number

指定した時間数を日付に追加した結果として、新しい日付を返します。 時間数を減算するには、負の数を入力します。

例:

  • addHours(2016-12-08T15:55:57.536Z; 2)

    2016-12-08T17:55:57.536Z を返します。

  • addHours(2016-12-08T15:55:57.536Z;-2)

    2016-12-08T13:55:57.536Z を返します。

addDays (date; number) adddays-date-number

指定した日数を日付に加算した結果を新しい日付として返します。 日数を減算するには、負の数を入力します。

例:

  • addDays(2016-12-08T15:55:57.536Z;2)

    戻り値:2016-12-10T15:55:57.536Z

  • addDays(2016-12-08T15:55:57.536Z;-2)

    戻り値:2016-12-6T15:55:57.536Z

addWeekDays (date; number) ​

[新規!]{class="badge informative"}

日付に平日の数を追加します。 整数値のみが追加されます(分数は切り捨てられます)。

例:

addWeekDays("2016-12-08T15:55:57.536Z"; 2)

2016-12-12T15:55:57.536Zを返します
addWeekDays("2016-12-08T15:55:57.536Z"; -2)
2016-12-06T15:55:57.536Zを返します

addMonths(date, number)

指定された月数を日付に追加した結果として、新しい日付を返します。 月数を減算するには、負の数を入力します。

例:

  • addMonths(2016-08-08T15:55:57.536Z;2)

    2016-10-08T15:55:57.536Z を返します。

  • addMonths(2016-08-08T15:55:57.536Z;-2)

    2016-06-08T15:55:57.536Z を返します。

addYears(date; number)

指定された年数を日付に追加した結果として、新しい日付を返します。 年数を減算するには、負の数を入力します。

例:

  • addYears(2016-08-08T15:55:57.536Z;2)

    2018-08-08T15:55:57.536Z を返します。

  • addYears(2016-12-08T15:55:57.536Z; -2)

    2014-08-08T15:55:57.536Z を返します。

dayOfMonth (date) ​

[新規!]{class="badge informative"}

日付の月の日付を1 ~ 31の数値で返します。

例:

  • dayOfMonth("2016-12-28T16:03:06.372Z")

    28を返します

  • dayOfMonth("2015-01-05T11:36:39.138Z")

    返品5

dayOfWeek (date) ​

[新規!]{class="badge informative"}

日付の曜日を1 (日曜日)から7 (土曜日)の間の数値で返します。

例:

  • dayOfWeek("2016-12-28T16:03:06.372Z")

    戻り値 4

  • dayOfWeek("2016-12-25T16:03:06.372Z")

    戻り値 1

daysInMonth (date) ​

[新規!]{class="badge informative"}

指定された日付の月の合計日数を返します。

例:

  • daysInMonth("2016-01-01T00:00:00.000Z")

    31を返します

  • daysInMonth("2016-02-01T00:00:00.000Z")

    29を返します

daysInSplitWeek (date) ​

[新規!]{class="badge informative"}

日付から週の終わり、または月の終わりまでの平日の合計数を返します。いずれか最初に来る方を指定します。

例:

  • daysInSplitWeek("2016-12-28T16:03:06.372Z")

    戻り値 3

  • daysInSplitWeek("2016-01-25T16:03:06.372Z")

    返品5

daysInYear (date) ​

[新規!]{class="badge informative"}

指定された日付の年の合計日数を返します(通常の年の場合は365、うるう年の場合は366)。

例:

  • daysInYear("2016-06-01T00:00:00.000Z")

    366を返します

  • daysInYear("2015-06-01T00:00:00.000Z")

    365を返します

dateMax (date1; date2; …) ​

[新規!]{class="badge informative"}

リストの最新(最新)の日付を返します。

例:

  • dateMax("2016-06-01T00:00:00.000Z"; "2016-12-01T00:00:00.000Z")

    2016-12-01T00:00:00.000Zを返します

  • dateMax("2015-01-01T00:00:00.000Z"; "2016-06-15T00:00:00.000Z"; "2014-03-20T00:00:00.000Z")

    2016-06-15T00:00:00.000Zを返します

dateMin (date1; date2; …) ​

[新規!]{class="badge informative"}

リストの最も古い日付を返します。

例:

  • dateMin("2016-06-01T00:00:00.000Z"; "2016-12-01T00:00:00.000Z")

    2016-06-01T00:00:00.000Zを返します

  • dateMin("2015-01-01T00:00:00.000Z"; "2016-06-15T00:00:00.000Z"; "2014-03-20T00:00:00.000Z")

    2014-03-20T00:00:00.000Zを返します

endOfMonth (date) ​

[新規!]{class="badge informative"}

指定された日付の月の最後のモーメント (最後の日の最後のミリ秒) (23:59:59.999)を返します。 うるう年を含む月の日数を自動的に考慮します。

例:

  • endOfMonth("2016-06-15T12:30:00.000Z")

    2016-06-30T23:59:59.999Zを返します

  • endOfMonth("2016-01-01T00:00:00.000Z")

    2016-01-31T23:59:59.999Zを返します

  • endOfMonth("2016-02-01T00:00:00.000Z")

    2016-02-29T23:59:59.999Zを返します

時間(日付) ​

[新規!]{class="badge informative"}

その日付の時間を 0 から 23 の数値で返します。

例:

  • hour("2016-12-08T15:55:57.536Z")

    15を返します

  • hour("2016-12-08T00:00:00.000Z")

    0を返します

isWeekend (date) ​

[新規!]{class="badge informative"}

日付が土曜日または日曜日の場合はtrue、その他の日の場合はfalseを返します。 結果は、シナリオの設定されたタイムゾーンで決定されます。

例:

  • isWeekend("2016-12-10T00:00:00.000Z")

    trueを返します(土曜日)

  • isWeekend("2016-12-11T00:00:00.000Z")

    trueを返します(日曜日)

  • isWeekend("2016-12-12T00:00:00.000Z")

    falseを返します(月曜日)

  • isWeekend("2016-12-09T00:00:00.000Z")

    falseを返します(金曜日)

分(日付) ​

[新規!]{class="badge informative"}

日付の分数を0 ~ 59の数値で返します。

例:

  • minute("2016-12-08T15:55:57.536Z")

    55を返します

  • minute("2016-12-08T15:00:00.000Z")

    0を返します

月(日付) ​

[新規!]{class="badge informative"}

日付の月を1 ~ 12の数値で返します。

例:

  • month("2016-12-08T15:55:57.536Z")

    12 を返します

  • month("2016-01-08T15:55:57.536Z")

    戻り値 1

秒(日付) ​

[新規!]{class="badge informative"}

日付の2番目の値を0 ~ 59の数値で返します。

例:

  • second("2016-12-08T15:55:57.536Z")

    57を返します

  • second("2016-12-08T15:55:00.000Z")

    0を返します

startOfMonth (date) ​

[新規!]{class="badge informative"}

指定された日付の月の最初のモーメントを返します。1日目の午前0時(00:00:00.000)です。 その結果、タイムゾーンに応じたものになります。

例:

  • startOfMonth("2016-06-15T12:30:00.000Z")

    2016-06-01T00:00:00.000Zを返します

  • startOfMonth("2024-02-14T08:00:00.000Z")

    2024-02-01T00:00:00.000Zを返します

weekDayDiff (date2; date1) ​

[新規!]{class="badge informative"}

2つの日付の間の平日の数を返します。これらの日のタイムスタンプを考慮します。 例えば、開始時間が午後3時の場合、開始日は全日としてカウントされません。

例:

  • weekDayDiff("2016-12-07T12:00:00.000Z"; "2016-12-05T00:00:00.000Z")

    2.5を返します

  • weekDayDiff("2016-12-09T15:00:00.000Z"; "2016-12-05T15:00:00.000Z")

    戻り値 4

workMinutesDiff (date1; date2) ​

[新規!]{class="badge informative"}

標準の月曜日から金曜日、午前9時から午後5時のスケジュールに基づいて、2つの日付の間にスケジュールされた作業分数を返します。

例:

  • workMinutesDiff("2016-12-05T09:00:00.000Z"; "2016-12-05T17:00:00.000Z")

    480を返します

  • workMinutesDiff("2016-12-05T09:00:00.000Z"; "2016-12-06T17:00:00.000Z")

    960を返します

年(日付) ​

[新規!]{class="badge informative"}

日付の年を4桁の数値で返します。

例:

  • year("2016-12-08T15:55:57.536Z")

    2016年を返します

  • year("2000-01-01T00:00:00.000Z")

    2000を返します

setSecond(date; number)

この関数は、パラメーターで指定された秒数を持つ新しい日付を返します。

0 ~ 59 の数値を指定します。 数値がその範囲外にある場合、この関数は、前の分(負の数の場合)または後続の分(正の数の場合)からの秒数を返します。

範囲外の数値を指定する必要がある場合は、上記の addSeconds(date; number)の節の説明に従って、addSeconds を使用することをお勧めします。

例:

  • setSecond(2015-10-07T11:36:39.138Z;10)

    2015-10-07T11:36:10.138Z を返します。

  • setSecond(2015-10-07T11:36:39.138Z; 61)

    2015-10-07T11:37:01.138Z を返します。

setMinute(date; number)

この関数は、パラメーターで指定された分数を持つ新しい日付を返します。

0 ~ 59 の数値を指定します。 数値がその範囲外にある場合、この関数は、前の時間(負の数の場合)または後続の時間(正の数の場合)の分数を返します。

範囲外の数値を指定する必要がある場合は、上記の addMinutes(date; number)の説明に従って、addMinutes を使用することをお勧めします。

例:

  • setMinute(2015-10-07T11:36:39.138Z;10)

    2015-10-07T11:10:39.138Z を返します。

  • setMinute(2015-10-07T11:36:39.138Z;61)

    2015-10-07T12:01:39.138Z を返します。

setHour(date; number)

この関数は、パラメーターで指定された時間数を持つ新しい日付を返します。

0 ~ 23 の数値を指定します。 数値がこの範囲外にある場合、この関数は、前日(負の数の場合)または翌日(正の数の場合)の時間数を返します。

範囲外の数値を指定する必要がある場合は、上記の addHours(date; number)の説明に従って、addHours を使用することをお勧めします。

例:

  • setHour(2015-08-07T11:36:39.138Z;6)

    戻り値:2015-08-07T06:36:39.138Z

  • setHour(2015-08-07T11:36:39.138;-6)

    戻り値:2015-08-06T18:36:39.138Z

setDay (date; number/name of the day in English)

この関数は、パラメーターで指定された日の新しい日付を返します。

この関数を使用して曜日を設定できます。日曜日は 1、土曜日は 7 と指定します。 1~7 の数値を指定した場合、結果の日付は現在の(日曜日から土曜日)週の範囲内になります。 この数値がその範囲外の場合、前の週(負の数の場合)または次の週(正の数の場合)の日を返します。

範囲外の数値を指定する必要がある場合は、前述の addDays を使用することをお勧めします(addDays (date; number) を参照)。

例:

  • setDay(2018-06-27T11:36:39.138Z;Monday)

    戻り値:2018-06-25T11:36:39.138Z

  • setDay(2018-06-27T11:36:39.138Z;1)

    戻り値:2018-06-24T11:36:39.138Z

  • setDay(2018-06-27T11:36:39.138Z;7)

    戻り値:2018-06-30T11:36:39.138Z

setDate (date; number)

この関数は、パラメーターで指定された月日の新しい日付を返します。

1~31 の数値を指定します。 この範囲外の数値の場合、前の月(負の数の場合)または次の月(正の数の場合)の日を返します。

例:

  • setDate(2015-08-07T11:36:39.138Z;5)

    戻り値:2015-08-05T11:36:39.138Z

  • setDate(2015-08-07T11:36:39.138Z;32)

    戻り値:2015-09-01T11:36:39.138Z

setMonth (date; number/name of the month in English)

この関数は、パラメーターで指定された月の新しい日付を返します。

1~12 の数値を指定します。 この範囲外の数値の場合、前の年(負の数の場合)または次の年(正の数の場合)の月を返します。

例:

  • setMonth(2015-08-07T11:36:39.138Z;5)

    戻り値:2015-05-07T11:36:39.138Z

  • setMonth(2015-08-07T11:36:39.138Z;17)

    戻り値:2016-05-07T11:36:39.138Z

  • setMonth(2015-08-07T11:36:39.138Z;january)

    戻り値:2015-01-07T12:36:39.138Z

setYear (date; number)

パラメーターで指定された年の新しい日付を返します。

例:

  • setYear(2015-08-07T11:36:39.138Z;2017)

    戻り値:2017-08-07T11:36:39.138Z

formatDate(date; format; [timezone])

この関数は、12-10-2021 20:30 などの日付値を Dec 10, 2021 8:30 PM などのテキスト値として書式設定する場合に使用します。

これは、例えば同じシナリオで 1 つのアプリまたは web サービスの日付形式を、接続されているアプリまたは web サービスの日付形式に変更する必要がある場合に便利です。

詳細については、記事項目データタイプ ​の日付とテキストを参照してください。

パラメーター

パラメーター
想定されるデータタイプ*
機能
date
日付
日付値をテキスト値に変換します。
format
テキスト

日付や時刻の書式設定トークンを使用して形式を指定できます。 詳細については、日付と時刻の書式設定に関する トークンを参照してください

例:DD.MM.YYYY HH:mm

timezone
テキスト

(オプション)変換で使用されるタイムゾーンを指定できます。

認識されるタイムゾーンのリストについては、Wikipedia の tz データベースのタイムゾーンのリストにある「TZ database name」列を参照してください。 この列にリスト表示されている値のみが、関数により有効なタイムゾーンとして認識されます。 その他の値は無視され、代わりにプロファイルで指定されたシナリオタイムゾーンが使用されます。

このパラメーターを省略した場合、プロファイル設定で指定されたシナリオタイムゾーンが適用されます。

例:Europe/PragueUTC

異なるタイプを指定した場合、型強制が適用されます。 詳しくは、型強制を参照してください。

戻り値とタイプ

formatDate 関数は、指定された形式とタイムゾーンに従って、指定された日付値のテキスト表現を返します。 データタイプはテキストです。

例:​シナリオと web タイムゾーンは、これらの例ではどちらも Europe/Prague に設定されています。

日付時刻関数の例

  • formatDate(1. Date created;MM/DD/YYYY)

    戻り値:10/01/2018

  • formatDate(1. Date created; YYYY-MM-DD hh:mm A)

    2018-10-01 09:32 AMを返します

  • formatDate(1. Date created;DD.MM.YYYY HH:mm;UTC)

    01.10.2018 07:32を返します

  • formatDate(now;DD.MM.YYYY HH:mm)

    19.03.2019 15:30を返します

parseDate(テキスト、フォーマット、[タイムゾーン])

日付を表すテキスト値(12-10-2019 20:30 または Aug 18, 2019 10:00 AM)の場合、この関数を使用して、日付値(バイナリマシンが読み取り可能な表現)に変換(解析)する必要があります。 詳細については、記事項目データタイプ ​の日付とテキストを参照してください。

パラメーター

2 番目の列は、期待されるタイプを示します。 異なるタイプを指定した場合、型強制が適用されます。 詳しくは、型強制を参照してください。

パラメーター
想定されるデータタイプ*
機能
text
テキスト
日付値をテキスト値に変換します。
format
テキスト

日付や時刻の書式設定トークンを使用して形式を指定できます。 詳細については、日付と時刻の書式設定に関する トークンを参照してください

例:DD.MM.YYYY HH:mm

timezone
テキスト

(オプション)変換で使用されるタイムゾーンを指定できます。

認識されるタイムゾーンのリストについては、Wikipedia の tz データベースのタイムゾーンのリストにある「TZ database name」列を参照してください。 この列にリスト表示されている値のみが、関数により有効なタイムゾーンとして認識されます。 その他の値は無視され、代わりにプロファイルで指定されたシナリオタイムゾーンが使用されます。

このパラメーターを省略した場合、プロファイル設定で指定されたシナリオタイムゾーンが適用されます。

例:Europe/PragueUTC

異なるタイプを指定した場合、型強制が適用されます。 詳しくは、型強制を参照してください。

戻り値とタイプ

この関数は、指定した形式とタイムゾーンに従って、テキスト文字列を日付に変換します。 値のデータタイプは日付です。

例: 次の例では、返される日付値は ISO 8601 に従って表されますが、結果のデータタイプは日付です。

  • parseDate(2016-12-28;YYYY-MM-DD)

    戻り値:2016-12-28T00:00:00.000Z

  • parseDate(2016-12-28 16:03;YYYY-MM-DD HH:mm)

    戻り値:2016-12-28T16:03:00.000Z

  • parseDate(2016-12-28 04:03 pm; YYYY-MM-DD hh:mm a)

    戻り値:2016-12-28T16:03:06.000Z

  • parseDate(1482940986;X)

    戻り値:2016-12-28T16:03:06.000Z

dateDifference (Date1; Date2; Unit)

2 つの日付の差を表す数値を、指定された単位で返します。

Date1 から Date2 が減算されます。

unit パラメーターには、次のいずれかの時刻値を使用します。

  • milliseconds
  • 時間
  • days

単位が指定されていない場合、この関数は差をミリ秒単位で返します。

例:

  • dateDifference(2021-05-11T18:10:00.000Z;2021-05-11T18:00:00.000Z)

    600,000 を返します

  • dateDifference(2021-05-11T18:10:00.000Z;2021-05-11T18:00:00.000Z;hours)

    4 を返します

  • dateDifference2021-06-11T18:10:00.000Z;2021-05-11T18:00:00.000Z;months)

    1 を返します

その他の例

月の n 番目の曜日の計算方法

このセクションは、Exceljet web ページのWorkfront Fusionに合わせて調整されており、1か月で第9週の曜日を取得する方法を説明しています。

月の n 番目の曜日(例:最初の火曜日、3 番目の金曜日など)に対応する日付を計算する必要がある場合、次の数式を使用できます。

9日目を計算

{{addDays(setDate(1.date; 1); 1.n * 7 - formatDate(addDays(setDate(1.date; 1); "-" + 1.dow); "E"))}}

数式には、次の項目が含まれます。

1.n

n 番目の曜日:

  • 1 第 1 火曜日
  • 2 第 2 火曜日
  • 3 第 3 火曜日など
2.dow

曜日:

  • 1 月曜日
  • 2 火曜日
  • 3 水曜日
  • 4 木曜日
  • 5 金曜日
  • 6 土曜日
  • 7 日曜日
1.date
日付によって月が決まります。 現在の月の n 番目の曜日を計算するには、now 変数を使用します。

例えば、第 2 水曜日ごとに 1 つの特定のケースのみを計算する場合は、1.n および 2.dow の項目を計算式内で対応する数値に置き換えることができます。 現在の月の第 2 水曜日には、次の値を使用します。

  • 1.n = 2
  • 1.dow = 3
  • 1.date = now

N番目の日変数値

説明:

  • setDate(now;1) は、現在の月の最初の曜日を返します
  • formatDate(....;E) は、曜日を返します(1、2、…6)

日付間の日数の計算方法

例えば、次の式を使用できます。

日付の間の日数を計算

{{round((2.value - 1.value) / 1000 / 60 / 60 / 24)}}
NOTE
  • D1 および D2 の値は、日付タイプの値です。 文字列タイプの値(例:20.10.2018)の場合、parseDate() 関数を使用して、日付タイプの値に変換します。

  • round() 関数は、いずれかの日付がサマータイム期間内に該当し、その他の日付がサマータイム期間外の場合に使用されます。 この場合、時間の差は 1 時間少ないか多いかです。 整数以外の結果を得るには、24 で割ります。 サマータイムで 1 時間失います。 百分率が発生しないように、数値を丸めて平均化します。

月の最終日/ミリ秒の計算方法

日付範囲を指定する場合、例えば、検索モジュールで、範囲が前月の全体にわたりクローズした間隔(両方の制限ポイントを含む間隔)の場合、月の最終日を計算する必要があります。

2019-09-01 ≤ D ≤ 2019-09-30

次の数式は、前月の最終日の計算方法の 1 つを示しています。

前月の最終日

{{addDays(setDate(now; 1); -1)}}

場合によっては、月の最後日だけでなく、文字どおり最後のミリ秒も計算する必要があります。

2019-09-01T00:00:00.000Z ≤ D ≤ 2019-09-30T23:59:59.999Z

この数式は、前月の直近ミリ秒を計算する方法の 1 つを示します。

前の月の最後のミリ秒数

{{parseDate(parseDate(formatDate(now; "YYYYMM01"); "YYYYMMDD"; "UTC") - 1; "x")}}

タイムゾーン設定を使用するのに結果が必要な場合は、UTC 引数を省略します。

UTC を省略

{{parseDate(parseDate(formatDate(now; "YYYYMM01"); "YYYYMMDD") - 1; "x")}}

ただし、次のように、翌月の最初の日を指定し、「次よりも小さいか等しい」演算子を「次よりも小さい」に置き換えて、代わりに半開間隔(その制限ポイントを除く間隔)を使用することをお勧めします。

2019-09-01 ≤ D < 2019-10-01

2019-09-01T00:00:00.000Z ≤ D < 2019-10-01T00:00:00.000Z

recommendation-more-help
workfront-fusion-help-workfront-fusion