日付/時刻関数

バージョン:
2021.2
Last modified: January 28, 2021

日付/時刻関数は、日付と時刻の値に対してアクションまたは計算を実行します。日付 / 時刻関数を使用して、間隔の加算または減算、現在の日付の検索、月の最初または最後の日付の検索、日付 / 時刻値のコンポーネントの抽出、または別の形式に値を変換します。

日付サポート

Designer は、1400 年 1 月 1 日より前の日付は処理できません。

Alteryx は ISO 形式 yyyy-mm-dd HH:MM:SS を使用して日付と時刻を表します。日付/時刻値がこの形式でない場合、Alteryx はそれを文字列として読み取ります。日付/時刻形式で使用および操作するために列を変換するには、式エディターの DateTimeParse 関数、または 日時ツール を使用します。

DateTime 関数によっては、日付の形式を設定する必要があります。書式文字列は、指定子と区切り記号で構成されます。

指定子

指定子は常にパーセント記号 (%) で始まり、大文字と小文字が区別されます。データには、少なくとも 2 桁の年が含まれている必要があります。

指定子 DateTimeFormat からの出力 DateTimeParse でサポートされる入力
%a 曜日名の省略形 (Mon) 所定のテキストが曜日でない場合にのみエラーを生成する曜日の有効な省略形 (mon、Tues、Thur)。注: Alteryx は、指定された曜日名が特定の日付に対して有効であることを確認しません。
%A 曜日名の完全形 (Monday) 曜日の名前または曜日の有効な省略形 (mon、Tues、Thur)。指定されたテキストが曜日でない場合にのみエラーが発生します。注: Alteryx は、指定された曜日名が特定の日付に対して有効であることを確認しません。
%b 月名の省略形 (Sep) 月名の有効な省略形 (Sep、SEPT)。指定されたテキストが月名でない場合にのみエラーが発生します。
%B 月名の完全形 (September) 月名または月名の有効な省略形 (Sep、SEPT)。指定されたテキストが月名でない場合にのみエラーが発生します。
%c コンピューターのロケールの日付と時刻 サポートされていません
%C 西暦 (20) サポートされていません
%d 日 (01) スペースを無視して 1 桁または 2 桁 (1 または 01)
%D %m、%d、%y と同等 サポートされていません
%e 日、先頭の 0 をスペースで置き換え (1) スペースを無視して 1 桁または 2 桁 (1 または 01)
%h %b と同じ (Sep) 月名の有効な省略形 (Sep、SEPT)。指定されたテキストが月名でない場合にのみエラーが発生します。
%H 24 時間制の時 (00 - 23) 時間は 0 - 23 の 2 桁まで表示%p または %P には非対応
%I
(大文字の「アイ」)
12 時間制の時 (01 - 12) 時間は 1 - 12 の2 桁まで表示後に %p または %P を付ける必要があります。
%j 年の日付、001 - 365 (うるう年では 366) 年の日を 3 桁で示す連番、001 - 365 (うるう年では366)
%k 24 時間制の時、先頭の 0 はスペース (0 - 23) 時間は 2 桁まで表示
%l
(小文字の「エル」)
12 時間制、先頭の 0 はスペース (1 - 12) サポートされていません
%M 分 (00 - 59) 分は 2 桁まで表示
%m 月 (01 - 12) 1 桁または 2 桁の月の数字を表示 (1 - 12 または 01 - 12)
%p AM または PM 大文字と小文字を区別しない (aM または Pm)。%I (大文字の「アイ」、12 時間形式の時間) の後に付ける必要があります。
%P am または pm 大文字と小文字を区別しない (aM または Pm)。%I (大文字の「アイ」、12 時間形式の時間) の後に付ける必要があります。
%S 秒 (00 - 59) 秒は 2 桁まで表示
%T 24 時間表記の時刻。%H、%M、%S と同等 サポートされていません
%u 月曜日 = 1 として示す 10 進数での曜日 (1 - 7) サポートされていません
%U 週の始まり = 日曜日として示す週の数 (00 - 53) サポートされていません
%w 日曜日 = 0 として示す数値での曜日 (0 - 6) サポートされていません
%W 週の始まり = 月曜日として示す週の数 (00 - 53) サポートされていません
%x コンピューターのロケールの日付 サポートされていません
%X AM または PM を含む 12 時間制での時刻 (11:51:02 AM) 時:分:秒 [AM / PM]
%y 西暦年の下 2 桁 (16) 最大 4 桁が読み取られ、区切り記号または文字列の末尾で停止し、現在の年から 66 を引いたものと現在の年から 33 を足したものまでの範囲にマッピングされます。例えば、2016 では、1950 - 2049 が範囲となります。

6 桁の日付の制限
年には最大 4 桁の数字が読み込まれるため、6 桁の日付スタンプなど、区切り文字なしに 2 桁しか表示しない形式 (例えば、2017 年 5 月 22 日を表す 170522 のようなデータの %y%m%d) でも、4 桁で読み込まれます。この制限を回避するには、次の操作を実行します。

  • 日付の範囲に応じて、年に 4 桁 (例えば、17 ではなく 2017) を使用します。
  • 正規表現ツールを使用して、文字列の最初の 2 桁の後にスペースを挿入します。
%Y 4 桁の西暦年 (2016) 2 桁または 4 桁の数字が読み込まれます。2 桁は、現在の年から 66 を引いたものと、現在の年から 33 を足したものまでの範囲にマッピングされます。例えば、2016 では、1950 - 2049 が範囲となります。
%z UTC 時刻からのオフセット (-600) サポートされていません
%Z フルタイムゾーン名 (山岳部標準時) サポートされていません

区切り記号

日付/時刻指定子の間に区切り記号を挿入して、書式文字列を形成します。

区切り記号 DateTimeFormat からの出力 DateTimeParse でサポートされる入力*
/ / / または -
- - / または -
スペース スペース 空白文字のシーケンス
%n 改行 サポートされていません
%t タブ サポートされていません
その他 コンマ、ピリオド、コロンなどのその他の文字 コンマ、ピリオド、コロンなどのその他の文字

*DateTimeParse は、スラッシュ (/ ) とハイフン ( - ) を同じ意味で受け入れます。ただし、コンマ、コロン、およびその他の区切り記号はすべて、入力データと厳密に一致する必要があります。

言語パラメーター

次に示すのは、DateTimeFormat 関数および DateTimeParse 関数でサポートされている l (言語) パラメーターに対応する値です。

英語での言語名 母国語での言語名 言語コード
English English en
Italian Italiano it
French Français fr
German Deutsch de
Japanese 日本語 ja
Spanish Español es
Portuguese Português pt
Chinese 简体中文 zh

上記の値に加えて、上記のいずれかで始まる、長さが 2 文字以上の値も使用できます。例えば、英語の場合は eng、engl、engli など、またスペイン語の場合は esp、espa、sp、spa、span などを使用できます。

DateTimeAdd

DateTimeAdd(dt,i,u): 日付/時刻の値に特定の間隔を追加します。

パラメーター

dt: 選択した列または引用符で囲んで指定した日付/時刻値として表される日付/時刻データ。

i: 加算または減算する正または負の整数値。

u: 引用符で囲んで指定した日付時刻単位。years (年)、months (月)、days (日)、hours (時間)、minutes (分)、または seconds (秒)。

DateTimeAdd(DateTimeToday(), -1, "days") は、昨日の日付を返します。

DateTimeAdd(DateTimeFirstOfMonth(), 1, "months") は、次の月の初日を返します。

DateTimeAdd("2016-01-30", 1, "month") は、2016-02-29 を返します (2 月には 30 日がないため、その年の末日である 29 日を返します)。

は、2016-02-29 を返します (2 月には 30 日がないため、その年の末日である 29 日を返します)。

詳細情報

  • 期間内の端数は切り捨てられます。例えば、「1.5時間」を追加することはできません。代わりに、「90分」を追加します。
  • 単位を追加しても、より小さい単位の値は変更されません。例えば、時間を追加しても分または秒の値は変更されません。月を追加しても、結果の月にそのような日がない場合を除いて、日付または時刻は変更されません。その場合、その月の最後の日が返されます。

DateTimeDay

DateTimeDay(dt): 日付/時刻の値から日の数値を返します。

パラメーター

: 選択した列または引用符で囲んで指定した日付/時刻値として表される日付/時刻データ。

DateTimeDay("2017-03-24 11:43:23") は、24 を返します。

DateTimeDiff

DateTimeDiff(dt1,dt2,u): 最初の引数から 2 番目の引数を減算し、その差分の値を整数で返します。期間は、文字列ではなく指定された時間単位数の数値として返されます。

パラメーター

dt: 選択した列または引用符で囲んで指定した日付/時刻値として表される日付/時刻データ。

u: 引用符で囲んで指定した日付時刻単位。years (年)、months (月)、days (日)、hours (時間)、minutes (分)、または seconds (秒)。

DateTimeDiff("2016-02-15 00:00:00", "2016-01-15 00:00:01", "Months") は、1 を返します (開始日と終了日が同じ日であるため)。

DateTimeDiff("2012-02-29","2011-03-01","years") は、0 を返します (2012-02-29 は 2011-03-01 から 365 日後ですが、2 月 29 日は 3 月 1 日より前であるため、「1 年」 はまだ完了していないことになります)。

DateTimeDiff("2016-02-14", "2016-01-15", "Months") は、0 を返します (2 月は 1 月より日数が少ないため)。

DateTimeDiff("2016-02-14 23:59:59", "2016-01-15 00:00:00", "Months") は、0 を返します (必要な日に到達するまでに 1 秒足りないため)。

DateTimeDiff('2017-02-28', '2016-02-29', 'Months') は、11 を返します (28 日が 2017 年 2月 の末日ですが、28 は 29 未満であるため)。

詳細情報

  • 月と年の差については、終了日が開始日に達した時点でのみ 1 つの月がカウントされ、1 日の時刻は無視されます。
  • 日、時、分、および秒の精度については、結果は正確に計算され、小数部分は四捨五入されずに切り捨てられます。したがって、
    DateTimeDiff(‘2016-01-01 00:59:59’, ‘2016-01-01 00:00:00’, ‘Hours’) は、0 を返します。
    DateTimeDiff(‘2016-01-01 23:59:59’, ‘2016-01-01 00:00:00’, ‘Days’) も、0 を返します。
  • 精度の名前は、最初の 3 文字 (sec や min など) に短縮できます。大文字と小文字は区別されません。
  • 時間差を秒単位で保存する場合は注意してください。Int32 では、秒で 68 年、分で 4082 年の差のみを保持できます。Double または Int64 を使用して、サポートされているすべての日付間の間隔を保持できます。

DateTimeFirstOfMonth

DateTimeFirstOfMonth(): 月の初日の午前 0 時を返します。

DateTimeFormat

DateTimeFormat(dt,f,l): 日付/時刻データを別のアプリケーションで使用できるように、ISO 形式から、指定した言語 (l) の、指定した別の形式 (f) に変換します。文字列データ型に出力します。

パラメーター

: 選択した列または引用符で囲んで指定した日付/時刻値として表される日付/時刻データ。

f: 書式文字列で表される、データの変換先の形式。

l: 言語パラメーター (オプション)。言語パラメーターは、選択した Designer 言語が既定値となります。例えば、Designer がフランス語に設定されている場合、この関数は、DateTimeParse(dt,f,"Français") を既定で読み込みます。使用可能な言語の値については、言語パラメーター を参照してください。

DateTimeFormat([DateTime_Out],"%d-%m-%Y") は、日付が April 22, 2008 の場合に 22-04-2008 を返します (ISO 形式: 2008-04-22)。

DateTimeFormat([DateTime_Out],"%A","Spanish") は、ISO 日付が 2020-07-14 の場合に "martes" を返します (7 月 14 日は火曜日)。 

DateTimeHour

DateTimeHour(dt): 日付/時刻値の時間の部分を返します。

パラメーター

dt: 選択した列または引用符で囲んで指定した日付/時刻値として表される日付/時刻データ。

DateTimeHour("2017-03-24 11:43:23") は、11 を返します。

DateTimeHour("2017-03-24") は、0 を返します。日付とともに時刻が指定されていない場合は、想定される時間が真夜中となるためです。

DateTimeLastOfMonth

DateTimeLastOfMonth(): 現在の月の末日と、その日の終わりの 1 秒前 (23:59:59) に設定された時刻を返します。

Designer は、フォーミュラが最初に解析される日時を使用します。バッチプロセスでは、この時刻は新しいデータセットごとに使用されます。これにより、処理に時間がかかる場合でも一貫性を保つことができます。

DateTimeMinutes

DateTimeMinutes(dt): 日付/時刻値の分の部分を返します。

パラメーター

dt: 選択した列または引用符で囲んで指定した日付/時刻値として表される日付/時刻データ。

DateTimeMinutes("2017-03-24 11:43:23") は、43 を返します。

DateTimeMonth

DateTimeMonth(dt): 日付/時刻値の月の数値を返します。

パラメーター

dt: 選択した列または引用符で囲んで指定した日付/時刻値として表される日付/時刻データ。

DateTimeMonth("2017-03-24 11:43:23") は、3 を返します。

DateTimeMonth("11:43:23") は、入力データが有効でないため、[Null] を返します。

DateTimeNow

DateTimeNow(): 現在のシステムの日付と時刻を返します。

DateTimeParse

DateTimeParse(dt,f,l): 指定した形式 (f) と言語 (l) の日付文字列を ISO 標準形式 (yyyy-mm-dd HH:MM:SS) に変換します。

パラメーター

dt: 選択したフィールドまたは引用符で囲んだ日付/時刻文字列として表される日付/時刻文字列データ。入力データは、文字列データ型である必要があり、f パラメーターで指定した形式と一致する場合は、任意の日付/時刻形式にすることができます。

f: 変換する入力日付文字列データの形式であり、引用符で囲んだ形式文字列で表されます。

l: (オプション) 変換する入力日付文字列データの言語。言語パラメーターは、選択した Designer 言語が既定値となります。例えば、Designer がフランス語に設定されている場合、この関数は、DateTimeParse(dt,f,"Français") を既定で読み込みます。使用可能な言語の値については、言語パラメーター を参照してください。

DateTimeParse("2016/28-03","%Y/%d-%m") は、2016-03-28 を返します。

DateTimeParse([DateTimeNow],"%A %d %B %Y", "Français") は、入力日付文字列が "mardi 14 juillet 2020" (2020 年 7 月 14 日 火曜日) の場合、2020-07-14 を返します。

DateTimeSeconds

DateTimeSeconds(dt): 日付/時刻値の秒の部分を返します。

パラメーター

dt: 選択した列または引用符で囲んで指定した日付/時刻値として表される日付/時刻データ。

DateTimeStart

DateTimeStart(): 現在のワークフローの実行が開始された日付と時刻を返します。

DateTimeToday

DateTimeToday(): 今日の日付を返します。

予想される動作: DateTimeToday データ型

名前にもかかわらず、DateTimeToday() は時刻値を返しません。代わりに、現在の日付だけが返されます。DateTimeToday() 関数を ToDateTime() 関数でラップすると、現在の日付の午前 0 時に設定された日付/時刻値を返すことができます。

ToDateTime(DateTimeToday())

DateTimeToLocal

DateTimeToLocal(dt): UTC 日付/時刻をローカルシステムのタイムゾーンに変換します。

パラメーター

dt: 選択した列または引用符で囲んで指定した日付/時刻値として表される日付/時刻データ。

DateTimeToLocal('2014-08-01 20:01:25') は、ローカルシステムのタイムゾーン (山岳部標準時) を 2014-08-01 14:01:25 として返します。

DateTimeToUTC

DateTimeToUTC(dt): 日付/時刻 (ローカル システムのタイムゾーン) を UTC に変換します。

パラメーター

dt: 選択した列または引用符で囲んで指定した日付/時刻値として表される日付/時刻データ。

DateTimeToUTC(DateTimeNow()) は、ワークフロー実行時に協定世界時 2014-08-01 20:01:25 を返します (ローカルの山岳部標準時が 2014-08-01 14:01:25 の場合)。

DateTimeTrim

DateTimeTrim(dt,t): 日付/時刻の不要な部分を削除し、修正した日付/時刻値を返します。

パラメーター

dt: 選択した列または引用符で囲んで指定した日付/時刻値として表される日付/時刻データ。

t: トリミングするタイプを選択します。オプションには以下が含まれます:

  • Firstofmonth:: 該当月の初日にトリミング (month と同じ)。
  • lastofmonth: 該当月の末日の終わり 1 秒前にトリミング。
  • year: 1 月 1 日の午前 0 時にトリミング。
  • month: 該当月の初日の午前 0 時にトリミング。
  • day: 該当日の午前 0 時にトリミング。これは、日付時刻を該当日の 0 時 (日付ではない) に変換します。
  • hour: 該当する時 (hour) にトリミング。
  • minute: 該当する分 (minutes) にトリミング。

日付時刻をトリミングしても、返される値は四捨五入されません。例えば、時 (hour) にトリミングされた時刻15:59:59は、16:00:00 ではなく 15:00:00 になります。

DateTimeTrim("2016-12-07 16:03:00","year") は、2016-01-01 00:00:00 を返します。

DateTimeYear

DateTimeYear(dt): 日付/時刻値の年の数値を返します。

パラメーター

dt: 選択した列または引用符で囲んで指定した日付/時刻値として表される日付/時刻データ。

DateTimeYear("2017-03-24 11:43:23") は、2017 を返します。

ToDate

ToDate(x): 文字列、数値、または日付/時刻値を日付に変換します。

  • 入力文字列は、YYYY-MM-DD 形式にする必要があります。例えば、2020-10-31 のようにします。
  • 入力数値は、Excel の日付形式にする必要があります。この形式の数値は、01-01-1900 以降の日数を表します。例えば、7000 は 03-01-1919 に相当します。
  • 入力日付/時刻は、YYYY-MM-DD hh:mm:ss の形式にする必要があります。例えば、2020-10-31 12:00:00 のようにします。

ToDate(2020-10-31) は、日付として 2020-10-31 を返します。

ToDate(7000) は、日付として 1919-03-01 を返します。

ToDate(2020-10-31 12:00:00) は、日付として 2020-10-31 を返します。

ToDateTime

ToDateTime(x): 文字列、数値、または日付を日付/時刻値に変換します。

  • 入力文字列は、YYYY-MM-DD hh:mm:ss 形式にする必要があります。例えば、2020-10-31 12:00:00 のようにします。
  • 入力数値は、Excel の日付/時刻形式にする必要があります。この形式の数値は、01-01-1900 以降の日数を表します。例えば、7000.354167 は、03-01-1919 午前 8 時 30 分に相当します。
  • 入力日付は、YYYY-MM-DD 形式にする必要があります。例えば、2020-10-31 のようにします。

ToDateTime(2020-10-31) は、日付/時刻として 2020-10-31 00:00:00 を返します。

ToDateTime(7000.354167) は、日付/時刻として 1919-03-01 08:30:00 を返します。

ToDateTime(2020-10-31 12:00:00) は、日付/時刻として 2020-10-31 12:00:00 を返します。

役に立ちましたか?

Running into problems or issues with your Alteryx product? Visit the Alteryx Community or contact support. Can't submit this form? Email us.