日付/時刻関数
日付/時刻関数は、日付と時刻の値に対してアクションまたは計算を実行します。日付/時刻関数を使用して、間隔を加算または減算したり、現在の日付を検索したり、月の最初または最後の日を検索したり、日付/時刻値のコンポーネントを抽出したり、値を別の形式に変換します。
AlteryxはYYYY-MM-DD HH:MM:SS
の形式を使用して日付と時刻を表します。精度を高めるために(最大18桁の精度)、秒位置の後にピリオドと数字を追加します。例: YYYY-MM-DD HH:MM:SS.fff
日付/時刻値がこの形式でない場合、Alteryxはその値を文字列とみなして読み取ります。日付/時刻形式で使用および操作するために列を変換するには、式エディターの DateTimeParse関数、または 日時ツール を使用します。
データ形式
日付/時刻関数の種類によっては、日付の形式を設定する必要があります。書式文字列は、指定子と区切り文字で構成されます。
日付/時刻関数
以下の日時関数を参照してください。
DateTimeAdd
DateTimeAdd(dt,i,u)
: 日付/時刻の値に特定の間隔を追加します。
パラメーター
dt
: 日付/時刻データ。
i
: 加算または減算する時間の正または負の整数。
u
: 日付/時刻単位のキーワードセクションに記載されているキーワードを使用して、引用符で囲まれた日付/時刻単位。
例
DateTimeAdd(DateTimeToday(), -1, "days")
は、昨日の日付を返します。
DateTimeAdd(DateTimeFirstOfMonth(), 1, "months")
は、翌月の最初の値を返します。
DateTimeAdd("2016-01-30", 1, "month")
2016-02-29を返します(2月には30日がありませんが、その最後の日は29日であるため)。
DateTimeAdd("2016-03-30", -1, "month")
2016-02-29を返します(2月には30日がありませんが、その最後の日は29日であるため)。
DateTimeAdd("2016-03-30 01:02:03.000000", 495, "microseconds")
2016-03-30 01:02:03.000495を返します。
詳細を表示
期間内の端数は切り捨てられます。例えば、「1.5時間」を追加することはできません。代わりに、「90分」を追加します。
単位を追加しても、より小さい単位の値は変更されません。例えば、時間を追加しても分または秒の値は変更されません。結果の月にそのような日付がない場合を除いて、月の追加は日付または時刻を変更しません。そのような日付がない場合は、その月の最後の日に進みます。
この関数は、タイムゾーンに夏時間と標準時間に関連する時間変化がないかのように計算を実行します。そのため、時刻が夏時間から標準時間、または標準時間から夏時間に変わる際の日付と時刻が計算に含まれている場合、予期しない結果が生じる可能性があります。通過する実際の時間の精度が重要である場合は、最初にデータをUTCに変換してください。
DateTimeDay
DateTimeDay(dt)
: 日付/時刻値の日の数値を返します。
パラメーター
dt
: 日付/時刻データ。
例
DateTimeDay("2017-03-24 11:43:23")
24を返します。
DateTimeDiff
DateTimeDiff(dt1,dt2,u)
: 最初の引数(dt1 – dt 2)から2番目の引数を減算し、差を整数で返します。期間は、文字列ではなく指定された時間単位数の数値として返されます。
パラメーター
dt
: 日付/時刻データ。
u
: 日付/時刻単位のキーワードセクションに記載されているキーワードを使用して、引用符で囲まれた日付/時刻単位。
例
DateTimeDiff("2024-01-18", "2024-01-15", "days")
3を返します。
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日にわずか1秒満たない場合でも)。
DateTimeDiff('2017-02-28', '2016-02-29', 'Months')
11を返します(28日は2017年の2月の最終日ですが、28は29未満です)。
DateTimeDiff('2017-02-28 00:59:59.28139502', '2017-02-28 00:59:59.12383125', 'msecs')
157を返します(日付と時刻の値の間のミリ秒)。
詳細を表示
月と年の差については、終了日が開始日に達した時点でのみ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を使用して、サポートされているすべての日付間の間隔を保持できます。
この関数は、タイムゾーンに夏時間と標準時間に関連する時間変化がないかのように計算を実行します。そのため、時刻が夏時間から標準時間、または標準時間から夏時間に変わる際の日付と時刻が計算に含まれている場合、予期しない結果が生じる可能性があります。通過する実際の時間の精度が重要である場合は、最初にデータをUTCに変換してください。
DateTimeFirstOfMonth
DateTimeFirstOfMonth()
: 現在の月の最初の日を返します。
DateTimeFormat
DateTimeFormat(dt,f,[l],[tz])
: 日付/時刻データを別のアプリケーションで使用できるように、タイムゾーン名(tz)を使用して、ISO形式から、指定した言語(l)の、指定した別の形式(f)に変換します。文字列データ型に出力します。指定された形式の精度が入力データの精度よりも低い場合、出力は切り捨てられ、端数処理は行われません。たとえば、時間をマイクロ秒(.012789)に渡し、書式で時間をミリ秒に指定した場合、結果は.013に切り上げられるのではなく、.012に切り捨てられます。オプションのタイムゾーンパラメーターでは、文字列に追加されるテキストのスタイルを制御することができます(EDTなど)。
パラメーター
dt
: 日付/時刻データ。
f
: 変換するデータの形式を、書式文字列で表わしたものです。以下の指定子セクションを参照してください。
l
: これはオプションの言語パラメーターです。既定では、選択したDesigner言語が使用されます。例えば、Designer がフランス語に設定されている場合、この関数は、 DateTimeParse(dt,f,"Français") を既定で読み取ります。このパラメーターを省略すると、Designerインターフェースの言語に関係なく、関数では英語が使用されます。使用可能な言語の値の一覧については、言語パラメーターを参照してください。
tz
: これはオプションのタイムゾーンパラメーターです。データは変換されません。文字列に追加されるテキストのスタイルを調整するだけです。
タイムゾーン識別子は、オフセット形式命令(%z)を使用する場合には表示するオフセットを決定し、タイムゾーン名形式命令(%Z)を使用する場合には表示するタイムゾーン名を決定します。
タイムゾーン名は、短い(ESTなど)、長い(東部標準時など)、汎用(ETなど)、詳細(EST/EDTなど)、の引数のスタイルを保持します。
名前は、データの正しい季節に一致するように変更されます。例えば、tzが2024-08-15のESTと指定されている場合、EDTに修正されます。同様に、tzが2024-01-15のEDTと指定されている場合、ESTに修正されます。これらの例のいずれでも、tzが汎用のETとして指定されている場合、それが夏時間か標準時間かを示すようには変更されません。
関数呼び出しでtzが指定されていない場合は、システムのタイムゾーンが使用されます。
例
DateTimeFormat('2008-04-22',"%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 日は火曜日)。
DateTimeFormat('11:59:57.890994389','%H:%M:%S.%5')
'11:59:57.89099'を返します(指定した数字に基づいて5桁の精度に切り捨てます)。
DateTimeFormat('11:59:57.99','%H:%M:%S,%3')
'11:59:57,990'を返します(指定したロケールの小数点記号を取得できます)この例では、小数点ではなくカンマを使用しています)。
DateTimeFormat('2024-03-10 01:00:00', '%b %d, %y %T %Z', '', 'ET')
'Mar 10, 24 01:00:00 ET'を返します。このタイムゾーン引数のスタイルは短縮の汎用であるため、結果にはそれが使用されます。
DateTimeFormat('2024-03-10 01:00:00', '%b %d, %y %T %Z', '', 'EDT')
'Mar 10, 24 01:00:00 EST'を返します。このタイムゾーン引数のスタイルは短縮の詳細です。データの時刻に対して正しくありません。そのため、詳細なタイムゾーンのオフセットが修正されます。
DateTimeFormat('2024-03-10 01:00:00', '%b %d, %y %T %Z', '', 'Eastern Time')
'Mar 10, 24 01:00:00 Eastern Time’を返します。スタイルは保持され、シフトを修正する必要はありません。
DateTimeFormat('2024-03-10 01:00:00', '%b %d, %y %T %Z', '', 'Eastern Daylight Time')
'Mar 10, 24 01:00:00 Eastern Standard Time’を返します。タイムゾーンのシフトが修正されます。
DateTimeFormat('2024-03-10 01:00:00', '%b %d, %y %T %z', '', 'ET')
'Mar 10, 24 01:00:00 -0400’を返します。
DateTimeHour
DateTimeHour(dt)
: 時刻の時間(h)部分を日付時刻値で返します。
パラメーター
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([tz])
: 現在の日付/時刻を秒単位で返します。オプションのタイムゾーン(tz)パラメーターを指定すると、返される時刻はそのタイムゾーンになります。タイムゾーンを指定しない場合は、システムのタイムゾーンが返されます。
パラメーター
tz
: (オプション)返される時刻のタイムゾーンを指定します。指定されている場合、返される時刻はそのタイムゾーンを使用します。省略した場合、返される時刻はシステムのタイムゾーンを使用します。
DateTimeNowPrecise
DateTimeNowPrecise(digits,[tz])
: 現在のシステムの日付/時刻を秒の小数位まで返します(精度は18桁まで)。オプションのタイムゾーン(tz)パラメーターを指定すると、返される時刻はそのタイムゾーンになります。タイムゾーンを指定しない場合は、システムのタイムゾーンが返されます。
オペレーティングシステムが提供する精度を超える精度を要求すると、この関数は残りの部分をゼロで埋めます。
パラメーター
digits
: 返される値の精度を0から18の範囲(両端を含む)で指定します。
tz
: (オプション)返される時刻のタイムゾーンを指定します。指定されている場合、返される時刻はそのタイムゾーンを使用します。省略した場合、返される時刻はシステムのタイムゾーンを使用します。
例
DateTimeNowPrecise(3)
'2022-10-14 11:59:57.991'を返します。
DateTimeNowPrecise(12)
'2022-10-14 11:59:57.991238400000'を返します。
DateTimeParse
DateTimeParse(string,f,[l],[tzName])
: 指定した形式(f)、言語(l)、タイムゾーン(tzName)の日付文字列を形式(YYYY-MM-DD HH:MM:SS
、オプションの日付/時刻精度を適用可)に変換します。指定したフォーマットの精度が低い場合、出力では端数が切り捨てられます。
パラメーター
string
: 日付時刻文字列データ。入力データは、文字列データ型である必要があり、f パラメーターで指定した形式と一致する場合は、任意の日付/時刻形式にすることができます。
f
: 変換する入力日付文字列データの形式であり、引用符で囲んだ形式文字列で表されます。
タイムゾーン
入力形式に%zまたは%Zが含まれている場合、Alteryxは入力タイムゾーンを認識します。日付/時刻の結果値をローカルまたは指定されたタイムゾーンに変換します。形式またはデータにタイムゾーン情報がない場合、Alteryxは入力がすでにローカルタイムゾーンにあると想定し、タイムシフトを適用しません。
データを確認し、適切な手順を実行して、出力が想定どおりの形式であることを確認します。タイムゾーンに関する重要な考慮事項については、タイムゾーンと夏時間/標準時間の変更を参照してください。
l
: (オプション) 変換する入力日付文字列データの言語。式を編集するときには、言語パラメーターは、Designerで選択した言語が既定値となります。省略された場合や空白の場合は、「English」が使用されます。例えば、Designer がフランス語に設定されている場合、この関数は、 DateTimeParse(string,f,"Français") を既定で読み取ります。使用可能な言語の値については、言語パラメーターを参照してください。
tz
: (オプション) %zまたは%Zが形式に含まれ、テキストにタイムゾーンまたはオフセットの名前が含まれている場合に、データを変換するタイムゾーン。以下の例では、この点について説明します。タイムゾーンが省略された場合は、システムのタイムゾーンが変換に使用されます。
例
DateTimeParse("2016/28-03","%Y/%d-%m")
2016-03-28を返します。
DateTimeParse('mardi 14 juillet 2020', '%A %d %B %Y', 'Français')
は、入力日付文字列が "mardi 14 juillet 2020" (2020年7月14日火曜日) の場合、2020-07-14 を返します。
DateTimeParse('Oct 4, 22 11:59:57.99', '%b %d, %y %H:%M:%S')
'2022-10-04 11:59:57'を返します。この関数は、末尾の数字を削除します。
DateTimeParse('Oct 4, 22 11:59:57.99', '%b %d, %y %H:%M:%S.%3')
'2022-10-04 11:59:57.990'を返します。この関数は、%3形式に一致するようにゼロを追加します。
DateTimeParse('Oct 4, 22 11:59:57.99', '%b %d, %y %H:%M:%S,%3')
[Null]を「',' instead of '.' was expected ('.' の代わりに ','が想定されています)」という警告とともに返します。
DateTimeParse('Mar 10, 24 01:00:00 PST', '%b %d, %y %T %Z')
ローカルタイムゾーンがEasternの場合は'2024-03-10 04:00:00’を返します。
DateTimeParse('Mar 12, 24 01:00:00 PST', '%b %d, %y %T %Z')
東部時間がすでにEDT (東部夏時間)に変更されているため、ローカルタイムゾーンが東部時間の場合は‘2024-03-12 05:00:00’を返します。
DateTimeParse('Mar 10, 24 01:00:00', '%b %d, %y %T %Z')
ローカルタイムゾーンが東部の場合は、‘2024-03-10 01:00:00’を返します。形式はタイムゾーン情報を要求しましたが、データにはタイムゾーン情報が存在しませんでした。入力データのタイムゾーンを認識できない場合、変換は実行されません。
DateTimeParse('Mar 10, 24 01:00:00 PST', '%b %d, %y %T')
‘2024-03-11 01:00:00’を返します。上記の例のように、形式がタイムゾーン情報の使用を要求しない場合、タイムゾーンデータを含む可能性のあるデータは無視されます。
DateTimeQuarter
DateTimeQuarter(dt, [Q1Start]
: 日付/時刻(YYYY-MM-DD)値の該当する四半期の数値を返します。オプションの数値パラメーターを使用して、第一四半期(Q1)の開始月を示します。
パラメーター
dt
: 日付/時刻データ。
Q1Start
: Q1の開始月(1-12)を示す、オプションの数値パラメーター。
例
DateTimeQuarter("2023-01-03")
1を返します。2番目のパラメーターがオプションであるため、エラーは返しません。
DateTimeQuarter("2023-05-03", 1)
2を返します。
DateTimeQuarter("2023-05-03", 7)
4を返します。オプションのパラメーターは、第1四半期が7月に開始することを示しています。
DateTimeQuarter("2023-05-03 12:04:55", 7)
4を返します。オプションのパラメーターは、第一四半期が7月に開始されることを示しており、タイムスタンプは無視されます。
DateTimeQuarter("2023-01-03", 13)
Nullを返します。2番目のパラメーターは1-12の数値である必要があります。
DateTimeQuarter("2023-01-03", 0)
Nullを返します。2番目のパラメーターは1-12の数値である必要があります。
DateTimeQuarter("2023-01-03", -1)
Nullを返します。2番目のパラメーターは1-12の数値である必要があります。
DateTimeQuarter("12:00:55")
Nullを返します。
DateTimeSeconds
DateTimeSeconds(dt)
: 時刻の秒部分を日付/時刻値で返します。秒以下の精度も存在していれば含めます。
パラメーター
dt
: 日付/時刻データ。
例
DateTimeSeconds('11:59:57.99')
57.99を返します。
DateTimeSeconds('11:59:57')
57を返します。
DateTimeStart
DateTimeStart()
: システムのタイムゾーンを使用して、現在のワークフローが実行を開始した日付と時刻を返します。
DateTimeToday
DateTimeToday()
: 今日の日付を返します。
予想される動作: DateTimeToday データ型
その名前に反して、 DateTimeToday()
は時刻値を返しません。代わりに、現在の日付だけが返されます。DateTimeToday()
関数をToDateTime()
関数でラップすると、現在の日付の午前0時に設定された日付/時刻値を返すことができます。
ToDateTime(DateTimeToday())
DateTimeToLocal
DateTimeToLocal(dt,[tz])
: UTC日時をオプションのtz引数に変換し、それ以外の場合はローカルシステムのタイムゾーンに変換します。DateTimeToLocal関数は、dtフィールドの日付/時刻精度をサポートするようになりました。
注記
結果には、そのタイムゾーンを示す情報がありません。必要に応じて、DateTimeFormatを使用するか、結果を、タイムゾーンを示す文字列に修正する必要があります。DateTimeFormatを使用する場合、tz引数は変換で使用されているのと同じtzの名前でなければなりません。EST、Eastern Daylight Time、America/New_York、‘-0400’などの異なるスタイルを使用することもできます。タイムゾーンに関する重要な考慮事項については、タイムゾーンと夏時間/標準時間の変更を参照してください。
パラメーター
dt
: 日付/時刻データ。
tz:
日付/時刻データを変換するオプションのタイムゾーンパラメーター。関数呼び出しでtzが指定されていない場合は、システムのタイムゾーンが使用されます。
例
DateTimeToLocal('2014-08-01 20:01:25')
ローカルシステムのタイムゾーン(山岳部標準時)を2014-08-01 14:01:25に変換します。
DateTimeToLocal('2024-08-15 09:00:00.123')
UTC時刻をシステム時刻に変換します。America/New_Yorkの場合は‘2024-08-15 05:00:00.123’を返します。America/Denverの場合は‘2024-08-03:00:00.123’を返します。
DateTimeToLocal('2024-08-15 09:00:00.123', 'EST')
指定された時刻が標準時であっても、UTC時刻を東部夏時間に変換します。変換のためのタイムゾーンを検索するときには、夏時間/標準時間の指定が無視されるため、‘2024-08-15 05:00:00.123’を返します。
DateTimeToUTC
DateTimeToUTC(dt,[tz])
: (ローカルシステムのタイムゾーンまたは指定されたタイムゾーンの)日付/時刻をUTCに変換します。入力された日時は、指定されたタイムゾーン、またはワークフローが実行されているシステムのタイムゾーンにあると見なされます。DateTimeToUTC関数は、dtフィールドの日付/時刻精度をサポートするようになりました。
注記
結果には、UTCであることを示す情報がありません。必要に応じて、DateTimeFormatを使用するか、結果を、タイムゾーンを示す文字列に修正する必要があります。DateTimeFormatを使用する場合、tz引数は変換で使用されているのと同じタイムゾーンの名前でなければなりません。UTC、GMT、Z、‘+0000’のような異なるスタイルを使うことができます。タイムゾーンに関する重要な考慮事項については、タイムゾーンと夏時間/標準時間の変更を参照してください。
パラメーター
dt
: 日付/時刻データ。
tz
: これはオプションのタイムゾーンパラメーターです。関数呼び出しでtzが指定されていない場合は、システムのタイムゾーンが使用されます。
例
DateTimeToUTC(DateTimeNow())
は、ワークフロー実行時に世界協定時である2014-08-01 20:01:25を返します(ローカル山地標準時は2014-08-01 14:01:25でした)。
DateTimeToUTC('2024-08-15 09:00:00.123')
時刻をUTCからシステム時刻に変換します。America/New_Yorkの場合は‘2024-08-15 13:00:00.123’を返します。America/Denverの場合は‘2024-08-15:00:00.123’を返します。
DateTimeTrim
DateTimeTrim(dt,t)
: 日付/時刻の不要な部分を削除し、修正した日付/時刻値を返します。
パラメーター
dt
: 日付/時刻データ。
t
: トリミングする種類オプションには以下が含まれます。
Firstofmonth:: 該当月の初日にトリミング(month と同じ)。
lastofmonth: 該当月の末日の終わり 1 秒前にトリミング。
year: 1 月 1 日の午前 0 時にトリミング。
month: 該当月の初日の午前 0 時にトリミング。
day
: 該当する日(つまり午前0時)にトリミング。これは、日付時刻を該当日の 0 時(日付ではない)に変換します。hour: 該当する時(hour)にトリミング。
minute: 該当する分(minutes)にトリミング。
seconds
: [日付/時刻単位のキーワード]セクションのキーワードを使用して、秒と2番目の分数の引用符でトリミングします。
日付時刻をトリミングしても、返される値は四捨五入されません。例えば、時(hour)にトリミングされた時刻15:59:59は、16:00:00ではなく15:00:00になります。
例
DateTimeTrim("2016-12-07 16:03:00","year")
2016-01-01 00:00:00を返します。
DateTimeTrim('2016-12-07 11:59:57.99','msec')
2016-12-07 11:59:57.990を返します。
DateTimeTrim('2016-12-07 11:59:57.99',4)
2016-12-07 11:59:57.9900を返します。
DateTimeTrim('2016-12-07 11:59:57.123456789','milliseconds')
11:59:57.123を返します。
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)
: 文字列、数値、または日付を日付/時刻値に変換します。ToDateTime関数は、秒を超える精度をサポートしていません。Excelの値を秒単位表示(5桁、最大99999)に制限します。
入力文字列は、YYYY-MM-DD hh:mm:ss 形式にする必要があります。例えば、2020-10-31 12:00:00 のようにします。
入力数値は、Excel の日付/時刻形式にする必要があります。この形式の数値は、01-01-1900 以降の日数を表します。例えば、7000.354167 は、03-01-1919 at 8:30 AM に相当します。
例
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 を返します。
日付/時刻関数リファレンス
日付/時刻関数で使用する場合は、これらの指定子、区切り文字、キーワード、および言語パラメーターを参照してください。
指定子
指定子は常にパーセント記号(%)で始まり、大文字と小文字が区別された文字または数字が続きます。データには少なくとも2桁の年が含まれる必要があります。
ヒント
アルファベット順でリストを確認したい場合は、以下で表示できます。
指定子 | DateTimeFormatからの出力 | DateTimeParseでサポートされる入力 |
---|---|---|
年 | ||
| 年の最後の2桁("16") | 最大4桁が読み取られ、区切り記号または文字列の末尾で停止し、現在の年から66を引いたものと現在の年に33を足したものとの間の範囲にマッピングされます。例えば、2016では、1950 - 2049 が範囲となります。 6桁の日付の制限 年には4桁までの数字が読み込まれるため、6桁の日付スタンプなど、区切り文字なしで2桁のみ表示する形式(例えば、2017年5月22日を表す170522のような%y%m%d形式のデータ)でも、4桁で読み込まれます。この制限を回避するには、次の操作を実行します。
|
| 年のすべての4桁("2016") | 2桁または4桁の数字が読み込まれます。2桁は、現在の年から66を引いたものと、現在の年から33を足したものまでの範囲にマッピングされます。例えば、2024では、1958-2057が範囲となります。 |
月 | ||
| 月名の省略形("Sep") | 月名の任意の有効な省略形("Sep"、"SEPT.")。指定されたテキストが(指定された言語の)月の名前でない場合にのみエラーを返します。 |
| 完全な月名("September") | 月名または月名の任意の有効な省略形("Sep"、"SEPT.")。指定されたテキストが(指定された言語の)月の名前でない場合にのみエラーを返します。 |
| 月の正式名。%bと同じ("Sep") | 月名の任意の有効な省略形("Sep"、"SEPT.")。指定されたテキストが月の名前でない場合にのみエラーを返します。 |
| 月の数、01-12 | 1桁または2桁の月の数字を表示 (1 または 01~12) |
週 | ||
| これは、00-53として週の数を週の始まりを日曜日として返します。 | サポート対象外 |
| これは、00-53として週の数を週の始まりを月曜日として返します。 | サポート対象外 |
日付(月間通日) | ||
| 日("01") | スペースを無視して 1 桁または 2 桁 ("1" または "01") |
| 日、先頭の 0 をスペースで置き換え("1") | スペースを無視して 1 桁または 2 桁 ("1" または "01") |
| 年の日付、001-365 (うるう年では366) | 年の3桁の日、001-365日(うるう年では366)。 |
曜日 | ||
| 短縮された曜日名("Mon") | 曜日の任意の有効な略語 ("mon"、"Tues."、"Thur")。指定されたテキストが曜日でない場合にのみエラーを返します。注: Alteryxは、指定された曜日名が特定の日付に対して有効であることを確認しません。 |
| 完全な曜日名("Monday") | 曜日名または曜日の有効な省略形 ("mon", "Tues.", "Thur")。指定されたテキストが曜日でない場合にのみエラーを返します。注: Alteryxは、指定された曜日名が特定の日付に対して有効であることを確認しません。 |
| 月曜日 = 1 として示す10進数での曜日 (1 - 7) | サポート対象外 |
| 日曜日 = 0 として示す数値での曜日 (0 - 6) | サポート対象外 |
時、分、秒 | ||
| 24時間表示での時刻 (00~23) | 時は 0~23 までの2桁です。%pまたは%Pとの互換性はありません。 |
| 12時間表示での時刻 (01~12) | 時は 2 桁、1~12まで。%pまたは%Pに従う必要があります。 |
| 24 時間制の時、先頭の0はスペース (0 - 23) | 時間は2桁まで。 |
| 分、00-59 | 分は2桁まで。 |
| 秒、00-59 | 秒は2桁まで。 |
雑則 | ||
| サブ秒精度の桁数。 | 最大18桁の精度でサブ秒を指定できます。 |
| コンピューターのロケールの日付と時刻 | サポート対象外 |
| 世紀("20") | サポート対象外 |
| %m%d%yと同等 | サポート対象外 |
| %bと同じ("Sep") | 月名の任意の有効な省略形("Sep"、"SEPT.")。指定されたテキストが月の名前でない場合にのみエラーを返します。 |
| 12時間制、先頭の0はスペース (1 - 12) | サポート対象外 |
| "AM"または"PM" | 大文字と小文字を区別しない("aM"あるいは"Pm")。%I が続く必要があります (大文字のアイ、12時間制の時間). |
| "am"または"pm" | 大文字と小文字を区別しない("aM"あるいは"Pm")。%I が続く必要があります (大文字のアイ、12時間制の時間). |
| 24時間表記の時刻。%H:%M:%Sに相当します | 24時間表記の時刻。%H:%M:%Sに相当します |
| コンピューターのロケールの日付 | サポート対象外 |
| AMまたはPMを含む12時間制での時刻("11:51:02 AM")。 | 時:分:秒 [AM / PM] |
| UTC時刻からのオフセット("–600")。 | 入力をサポート。 |
| フルタイムゾーン名 ("Mountain Daylight Time") | 入力をサポート。 |
指定子 | DateTimeFormatからの出力 | DateTimeParseでサポートされる入力 |
---|---|---|
| サブ秒精度の桁数。 | 最大18桁の精度でサブ秒を指定できます。 |
| 短縮された曜日名("Mon") | 曜日の任意の有効な略語 ("mon"、"Tues."、"Thur")。指定されたテキストが曜日でない場合にのみエラーを返します。注: Alteryxは、指定された曜日名が特定の日付に対して有効であることを確認しません。 |
| 完全な曜日名("Monday") | 曜日名または曜日の有効な省略形 ("mon", "Tues.", "Thur")。指定されたテキストが曜日でない場合にのみエラーを返します。注: Alteryxは、指定された曜日名が特定の日付に対して有効であることを確認しません。 |
| 月名の省略形("Sep") | 月名の任意の有効な省略形("Sep"、"SEPT.")。指定されたテキストが(指定された言語の)月の名前でない場合にのみエラーを返します。 |
| 完全な月名("September") | 月名または月名の任意の有効な省略形("Sep"、"SEPT.")。指定されたテキストが(指定された言語の)月の名前でない場合にのみエラーを返します。 |
| コンピューターのロケールの日付と時刻 | サポート対象外 |
| 世紀("20") | サポート対象外 |
| 日("01") | スペースを無視して 1 桁または 2 桁 ("1" または "01") |
| %m%d%yと同等 | サポート対象外 |
| 日、先頭の 0 をスペースで置き換え("1") | スペースを無視して 1 桁または 2 桁 ("1" または "01") |
| 月の正式名。%bと同じ("Sep") | 月名の任意の有効な省略形("Sep"、"SEPT.")。指定されたテキストが月の名前でない場合にのみエラーを返します。 |
| 24時間表示での時刻 (00~23) | 時は 0~23 までの2桁です。%pまたは%Pとの互換性はありません。 |
| 12時間表示での時刻 (01~12) | 時は 2 桁、1~12まで。%pまたは%Pに従う必要があります。 |
| 年の日付、001-365日(うるう年では366)。 | 年の3桁の日、001-365日(うるう年では366)。 |
| 24 時間制の時、先頭の0はスペース (0 - 23) | 時間は2桁まで。 |
| 12時間制、先頭の0はスペース (1 - 12) | サポート対象外 |
| 分、00-59 | 分は2桁まで。 |
| 月の数、01-12 | 1桁または2桁の月の数字を表示 (1 または 01~12) |
| "AM"または"PM" | 大文字と小文字を区別しない("aM"あるいは"Pm")。%I が続く必要があります (大文字のアイ、12時間制の時間). |
| "am"または"pm" | 大文字と小文字を区別しない("aM"あるいは"Pm")。%I が続く必要があります (大文字のアイ、12時間制の時間). |
| 秒、00-59 | 秒は2桁まで。 |
| 24時間表記の時刻。%H:%M:%Sに相当します | 24時間表記の時刻。%H:%M:%Sに相当します |
| 月曜日 = 1 として示す10進数での曜日 (1 - 7) | サポート対象外 |
| これは、00-53として週の数を週の始まりを日曜日として返します。 | サポート対象外 |
| 日曜日 = 0 として示す数値での曜日 (0 - 6) | サポート対象外 |
| これは、00-53として週の数を週の始まりを月曜日として返します。 | サポート対象外 |
| コンピューターのロケールの日付 | サポート対象外 |
| AMまたはPMを含む12時間制での時刻("11:51:02 AM")。 | 時:分:秒[AM/PM] |
| 年の最後の2桁("16") | 最大4桁が読み取られ、区切り記号または文字列の末尾で停止し、現在の年から66を引いたものと現在の年に33を足したものとの間の範囲にマッピングされます。例えば、2016では、1950 - 2049 が範囲となります。 6桁の日付の制限 年には4桁までの数字が読み込まれるため、6桁の日付スタンプなど、区切り文字なしで2桁のみ表示する形式(例えば、2017年5月22日を表す170522のような%y%m%d形式のデータ)でも、4桁で読み込まれます。この制限を回避するには、次の操作を実行します。
|
| 年のすべての4桁("2016") | 2桁または4桁の数字が読み込まれます。2桁は、現在の年から66を引いたものと、現在の年から33を足したものまでの範囲にマッピングされます。例えば、2024では、1958-2057が範囲となります。 |
| UTC時刻からのオフセット (-600) | 入力をサポート。 |
| フルタイムゾーン名 ("Mountain Daylight Time") | 入力をサポート。 |
区切り文字
区切り文字を日付/時刻指定子の間に挿入し、形式文字列を形成します。
区切り文字 | DateTimeFormatからの出力 | DateTimeParseでサポートされる入力* |
---|---|---|
| / | /または- |
| - | /または- |
スペース | スペース | 任意の一連の空白類文字 |
| 改行 | サポート対象外 |
| タブ | サポート対象外 |
その他 | コンマ、ピリオド、コロンなどのその他の文字。 | コンマ、ピリオド、コロンなどのその他の文字。 |
*DateTimeParseは、スラッシュ(/)とハイフン(-)を区別しないで受け入れます。ただし、カンマ、コロン、およびその他の区切り文字はすべて、入力データと厳密に一致する必要があります。
日付/時刻単位のキーワード
これらのキーワードは、DateTimeAdd、DateTimeDiff、およびDateTimeTrim関数と互換性があります。大文字と小文字は区別されません。各ユニットで使用できるキーワードは、カンマで区切られています。
場合によっては、完全なキーワードまでの省略形を受け入れることもあります。これらは、 以下のリストで指定された以内
で、許容される最短の省略形から完全なキーワードまでの範囲です。例として、 seconds では sec
と seconds
、また同様にその範囲の中間すべて、例えば seco
が許容されます。キーワードは英語であり、他の言語への翻訳形はサポートされていません。
数値をサブ秒の時間のキーワードとして使用することもできます。これには、以下のリストで特に言及されていないユニットも含まれます。たとえば、10桁の精度を示すキーワード「10」を使用できます。
year upto years
mon upto months
day, days
hou upto hours
min upto minutes
sec upto seconds
ds、dsec、dsecs、deciseconds、1
cs、csec、csecs、centiseconds、2
ms、msec、msecs、milliseconds、3
us、usec、usecs、microseconds、6
ns、nsec、nsecs、nanoseconds、9
ps、psec、psec、picoseconds、12
fs、fsec、fsecs、femtoseconds、15
as、asec、asecs、attoseconds、18
さまざまな精度単位でのDateTimeフィールドサイズの例については、次の表を参照してください。
名称 | 略称 | 日付/時刻サイズ | 例 |
---|---|---|---|
秒 |
| 19 (既定) | 2023-02-24 01:23:45 |
デシ秒(1/10秒) (1) |
| 21 (19 + 1 + 1) | 2023-02-24 01:23:45.1 |
センチ秒(2) |
| 22 (19 + 1 + 2) | 2023-02-24 01:23:45.12 |
ミリ秒 (3) |
| 23 (19 + 1 + 3) | 2023-02-24 01:23:45.123 |
マイクロ秒 (6) |
| 26 (19 + 1 + 6) | 2023-02-24 01:23:45.123456 |
ナノ秒 (9) |
| 29 (19 + 1 + 9) | 2023-02-24 01:23:45.123456789 |
ピコ秒 (12) |
| 32 (19 + 1 + 12) | 2023-02-24 01:23:45.123456789012 |
フェムト秒 (15) |
| 35 (19 + 1 + 15) | 2023-02-24 01:23:45.123456789012345 |
アト秒 (18) |
| 38 (19 + 1 + 18) | 2023-02-24 01:23:45.123456789012345678 |
言語パラメーター
次に示すのは、DateTimeFormat関数およびDateTimeParse関数でサポートされている「l」 (言語)パラメーターに対応する値です。
英語での言語名 | 原語での言語名 | 言語コード |
---|---|---|
英語 | English | en |
イタリア語 | Italiano | it |
フランス語 | Français | fr |
ドイツ語 | Deutsch | de |
日本語 | 日本語 | ja |
スペイン語 | Español | es |
ポルトガル語 | Português | pt |
簡体字中国語 | 简体中文 | zh |
上記の値に加えて、上記のいずれかで始まる、長さが2文字以上の値も使用できます。例えば、英語の場合は eng、engl、engli など、またスペイン語の場合は esp、espa、sp、spa、span などを使用できます。
タイムゾーン名
タイムゾーンには、さまざまな命名スタイルがあります。名前には、長い(山岳部時間)、短い(MT)、詳細(MDT、MST)、汎用(MT)の形式があります。Internet Assigned Names Authority (IANA)はタイムゾーン情報のデータベースを管理しています。その名前のスタイルは地域/都市(例えば、アメリカ/ロサンゼルス、ヨーロッパ/パリ)です。
時刻情報は協定世界時(UTC)に対するオフセット値と共に示すこともできます。例えば、11:31-0500はUTCから5時間遅れのタイムゾーンです(UTCは16:31)。この時刻は中部夏時間、東部標準時、またはペルー時間である可能性があります。IANAスタイルはタイムゾーンの標準的な名前です。ユーザーのロケールによっては、他の名前が使用される場合もあります。
Alteryxは広く使用されているライブラリ(ICU)を使用して、タイムゾーン情報を検索します。ワークフローが参照しているタイムゾーンが見つからない場合、ワークフローはエラーを報告します。
警告
短縮名では明確にタイムゾーンを識別できない場合があります。例えば、ISTはインド、イスラエル、またはアイルランドの標準時である可能性があります。そのため、入力データには注意が必要です。
Alteryxでは、データが正しく処理されるように、短縮形のタイムゾーン名を長い名前やIANAスタイルの名前に置き換えることを推奨しています。この変換は、検索置換ツールを使用して行うことができます。
タイムゾーンを名前で検索するには、Designerの言語が([ユーザー設定] > [言語と地域]で)英語以外の言語に設定されている場合、Alteryxでは、まずその言語を使用してタイムゾーンを検索するようにICUに対して要求します。その言語のタイムゾーンが見つからなかった場合は、AlteryxはICUに対して英語でタイムゾーンを検索するように要求します。地域によっては、ローカル言語での正式なゾーン名があっても、英語の略語が使用されることがあります。
また、Alteryxはサポートされている各言語で名前を検索しようとします。その際には、Designerインターフェース言語(または関数で指定された言語)から開始します。
ヒント
データのタイムゾーンに使用されている名前を認識しておく必要があります。また、場合によっては、検索置換ツールを使用して、タイムゾーンに適切な名前を適用できるようにする必要があります。
タイムゾーンと夏時間/標準時間の変更
夏時間と標準時間が切り替わるタイムゾーンでは、夏時間から標準時間、標準時間から夏時間への変更のタイミング近くの時刻を解釈しようとするときに、複雑な処理が発生します。
夏時間に変更
夏時間(サマータイム)への切り替え前後1時間は無効になります。米国で、地方標準時が2024年3月10日午前2時00分に到達しようとしたとき、時計は1時間進んで現地夏時間の2024年3月10日午前3時00分に調整されました。
その結果、例えば、2024-03-10 02:30:00 Eastern Timeは存在しませんでした。この時間は無効であり、そのような時間は存在しません。しかし、Alteryxライブラリはこの問題を検出しません。DateTimeToUTC('2024-03-10 02:30:00', 'Eastern Time')
を変換すると、コードは標準時(5時間)のオフセットを適用し、無効な入力を警告せずに、'2024-03-10 07:30:00'
を返します。
標準時間に変更
標準時間に変更するときには、あいまいな1時間が生じます。米国で、地方標準時が2024年11月3日午前2時00分に到達しようとしたときに、時計は1時間戻り2024年11月3日午前1時00分に調整されました。
2024-11-03 01:30:00 Eastern Timeは、東部標準時にも東部夏時間にもなり得ます。実際には夏時間の時刻にESTを指定したり、実際には標準時の時刻にEDTを指定したりするのは非常によくあるエラーであるため、ライブラリは一般にタイムゾーン情報を検索するときに季節の指定を無視します。
その結果、Alteryxでは、指定された季節を正しく使用して、あいまいな時間を東部標準時からUTCに変換できません。使用するタイムゾーンとしてESTまたはEDTが指定されているかどうかに関係なく、標準時間(5時間)のオフセットを適用します。
DateTimeToUTC('2024-11-03 01:30:00', 'Eastern Daylight Time')
2024-11-03 06:30:00を返します。DateTimeToUTC('2024-11-03 01:30:00', 'Eastern Standard Time')
2024-11-03 06:30:00を返します。DateTimeToUTC('2024-11-03 01:30:00', 'Eastern Time')
2024-11-03 06:30:00を返します。
注意事項と制限事項
日付サポート
Alteryx Designerは、1400年1月1日より前の日付は処理できません。
Alteryxは1400年から9999年までの日付をサポートしています。すべての日付は、現在世界のほとんどで使用されている市民暦であるグレゴリオ暦であることが前提です。すべての計算(加算と減算)はうるう秒を無視します。