日付/時刻関数

Version:
Current
Last modified: June 02, 2020

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

日付サポート

デザイナは、1400 年 1 月 1 日より前の日付を処理できません。

AlteryxはISO形式yyyy-mm-dd HH:MM:SSを使用して日付と時刻を表します。DateTime 値がこの形式でない場合、Alteryx はそれを文字列として読み取ります。DateTime 形式で使用および操作するために列を変換するには、式エディターまたはDateTime ツールで 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じ("9月") 所定のテキストが月の名前でない場合にのみエラーを生成する月名の有効な省略形("Sep"、"SEPT.")。
%H 24時間制での時、00~23 時は2桁まで、0~23。%pまたは と%P互換性がありません。
%I
(資本 "目")
12時間制での時、01~12 時は2桁まで、1~12。%pに従う必要%Pがあります。
%j 年の日、001~365(またはうるう年では366) 年の3桁の日、001~365(またはうるう年では366)
%k 24時間、先頭の0はスペース、" 0" から "23" 時は2桁まで
%l
(小文字の「エル」)
12時間、先頭の1はスペース、" 0" から "12" サポートされていない
%M 分、00~59 分は2桁まで
%m 月の数、01~12 1桁または2桁の月の数、1または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 10進数での曜日、1~7、月曜日は1 サポートされていない
%U これは、00~53として週の数を週の始まりを日曜日として返します。 サポートされていない
%w 数での曜日、0~6、月曜日は0 サポートされていない
%W これは、00~53として週の数を週の始まりを月曜日として返します。 サポートされていない
%x コンピュータのロケールの日付 サポートされていない
%X AMまたはPMを含む12時間制での時刻(“11:51:02 AM”) 時:分:秒 [AM / PM]
%y 年の最後の2桁("16") 最大4桁が読み取られ、区切り記号または文字列の末尾で停止し、現在の年から66の範囲にマップされます。(たとえば、2016では、1950 ~ 2049 です)。

6桁の日付の制限
年には最大 4 桁が読み取られるため、6 桁の日付スタンプ (たとえば、2017%y%m%d年 5 月 22 日の 170522 に似たデータの場合) など、区切り記号のない 2 桁の書式は 4 桁として読み取られます。この制限を回避するには、次の操作を実行できます:

  • 日付の範囲に応じて、年の4桁(たとえば、17ではなく2017)を使用します。
  • -ERR:REF-NOT-FOUND-RegEx ツールを使用して、文字列の最初の 2 桁の後にスペースを挿入します。
%Y 年のすべての4桁("2016") 2桁または4桁の数字が読み込まれます。2桁は現在の年から現在の年を引いた66の範囲にプラス33にマップされます。(たとえば、2016では、1950 ~ 2049 です)。
%z UTC時刻からのオフセット("-600") サポートされていない
%Z フルタイムゾーン名("Mountain Daylight Time") サポートされていない

区切り文字

DateTime 指定子の間に区切り記号が挿入され、書式文字列が形成されます。

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

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

DateTimeAdd(dt,i,u): DateTime 値に特定の間隔を追加します。

パラメーター

dt: 選択された列または引用符の間の指定された datetime 値として表される datetime データ。

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

u: 引用符の間で指定された DateTime 単位: 年、月、日、時間、分、または秒。

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

DateTimeAdd (DateTimeFirstOfMonth (), 1, "月")は翌月の最初の値を返します。

DateTimeAdd("2016-01-30", 1, "月") は2016-02-29 を返します (2 月は 30 日ではありませんが、その年の最後の日は 29 日です)

DateTimeAdd ("2016-03-30",-1, "month") は、2016-02-29 を返します (2 月は30を持っていないため、その最後の日は、その年は29です)

もっと読む

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

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

パラメーター

dt: 選択された列または引用符の間の指定された datetime 値として表される datetime データ。

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

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

パラメーター

dt: 選択された列または引用符の間の指定された datetime 値として表される datetime データ。

u: 日付、月、月、日、時間、分、または秒の間で指定された DateTime 単位。

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

DateTimeDiff("2012-02-29","2011-03-01","年") は0 を返します (2012-02-29 は 2011-03-01 の後 365 日ですが、2 月 29 日は 3 月 1 日より前なので、"1 年" はまだ完了していません)

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

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

DateTimeDiff('2017-02-28'、'2016-02-29'、'月')は11を返します(28日が2017年2月の最終日ですが、28は29未満です)。

もっと読む

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

DateTimeFirstOfMonth(): 月の最初の日を真夜中に返します。

日付時刻形式(dt,f):日付時刻データを ISO 形式から別のアプリケーションで使用する形式に変換します。文字列データ型に出力します。

パラメーター

dt: 選択された列または引用符の間の指定された datetime 値として表される datetime データ。

f: フォーマット文字列で表されるデータを変換する形式。

DateTimeFormat([DateTime_Out],"%d-%m-%Y")は、2008 年 4 月 22 日の日付に対して 22-04-2008 を返します (ISO 形式: 2008-04-22)

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

パラメーター

dt: 選択された列または引用符の間の指定された datetime 値として表される datetime データ。

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

DateTimeHour ("2017-03-24") は0 を返します。

DateTimeLastOfMonth(): 現在の月の最後の日を返し、クロックは 1 日の終わり (23:59:59) の前に設定されます。

デザイナは、数式が最初に解析される日時を使用します。バッチプロセスでは、この時刻は新しいデータセットごとに使用されます。これにより、処理に時間がかかる場合に一貫性を可能にします。

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

パラメーター

dt: 選択された列または引用符の間の指定された datetime 値として表される datetime データ。

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

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

パラメーター

dt: 選択された列または引用符の間の指定された datetime 値として表される datetime データ。

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

DateTimeMonth ("11:43:23") は、受信データが無効であるため[Null]を返します。

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

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

パラメーター

dt: 選択されたフィールドまたは引用符の間の datetime 文字列として表される datetime 文字列データ。受信データは String データ型でなければならず、この形式が f パラメーターに指定した形式と一致する限り、DateTime の任意の形式にすることができます。

f: 変換するデータの形式を、引用符の間の書式文字列で表したものです。

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

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

パラメーター

dt: 選択した列として表される DateTime データ、または引用符間で指定された DateTime 値

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

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

予想される動作: DateTimeToday データ型
その名前にもかかわらず、DateTimeToday()は時間値を返しません。むしろ、現在の日付を持つ日付のみを返します。DateTimeToday()関数をToDateTime()関数でラップして、現在の日付の真夜中に設定された日付時刻値を返すことができます。

終了日時(日付時刻今日())

 

DateTimeToLocal(dt): UTC DateTime をローカル システムタイム ゾーンに変換します。

パラメーター

dt: 選択された列または引用符の間の指定された datetime 値として表される datetime データ。

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

DateTimeToUTC(dt): DateTime (ローカル システムタイム ゾーン) を UTC に変換します。

パラメーター

dt: 選択された列または引用符の間の指定された datetime 値として表される datetime データ。

DateTimeToUTC (DateTimeNow ())は、ワークフローランタイムで世界協定時刻を返します: 2014-08-01 20:01:25 (ローカル山岳時間は 2014-08-01 14:01:25 でした)

 

の値に戻る日付時刻の不要な部分を削除し、変更された日付時刻を返します。

パラメーター

dt: 選択された列または引用符の間の指定された datetime 値として表される datetime データ。

t: トリムタイプ。オプションには以下が含まれます。

  • 月の最初 :月の初めにトリム (これは月と同じです)
  • 先月: 月末の終わり前に 1 秒まで延長
  • 年:1月1日の真夜中にトリム。
  • : 月の最初の日に真夜中にトリム
  • 日:その日(すなわち、真夜中)にトリム。これは、日付時刻を0の時刻(日付ではない)の日に変換します。
  • 時間: 時間にトリム
  • 分:分にトリム。

DateTime をトリミングしても、返される値は丸しません。例えば、時にトリムされた時刻15:59:59は、16:00:00ではなく15:00:00になります。

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

日付の既定値(dt):日付時刻の値で年の数値を返します。

パラメーター

dt: 選択された列または引用符の間の指定された datetime 値として表される datetime データ。

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

外舘 (x): 文字列、数値、または DateTime を日付に変換します。

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

Was This Helpful?

Running into problems or issues with your Alteryx product? Visit the Alteryx Community or contact support.