Power Apps日付操作関数関数関数解説

【Power Apps】日付変換にかかわる関数

Power Apps

Power Appsで日付にかかわる関数であるDateAdd関数、DateDiff関数、EDate関数、EOMonth関数について紹介します。

DateAdd関数とは

日数、月数、四半期数、または年数を日付/時刻値に加算します。

公式より引用

構文

DateAdd( DateTime, Addition [, Units ] )

DateTime - 加算/減算する日付時刻値。
Addition - DateTime に追加する数値。
Units - Additionの単位。指定しない場合はTimeUnit.Days(日)が設定される。
TimeUnit.Milliseconds:ミリ秒
TimeUnit.Seconds:秒
TimeUnit.Minutes:分
TimeUnit.Hours:時
TimeUnit.Days:日
TimeUnit.Months:月
TimeUnit.Quarters:四半期
TimeUnit.Years:年

DateDiff関数とは

2 つの日付値の差を、日数、月数、四半期数、または年数で返します。

公式より引用

構文

DateDiff( StartDateTime, EndDateTime [, Units ] )

StartDateTime - 開始の日付時刻値。
EndDateTime - 終了の日付時刻値。
Units - Additionの単位。指定しない場合はTimeUnit.Days(日)が設定される。
TimeUnit.Milliseconds:ミリ秒
TimeUnit.Seconds:秒
TimeUnit.Minutes:分
TimeUnit.Hours:時
TimeUnit.Days:日
TimeUnit.Months:月
TimeUnit.Quarters:四半期
TimeUnit.Years:年

EDate関数とは

月日を変更することなく、日付に月を足したり引いたりします。

公式より引用

DateTimeに設定した日付のNumberOfMonthsか月前/後を取得できます。

構文

EDate( DateTime, NumberOfMonths )

DateTime - 加算/減算する日付時刻値。
NumberOfMonths - DateTime に加算/減算する月数。 正の値は将来の日付、負の値は過去の日付を出力し、ゼロはDateTimeと同じ値を出力します。

EOMonth関数とは

日付に月を足したり引いたりし、その月の最終日を返します。

公式より引用

NumberOfMonthsが-1なら一か月前、0なら当月、1なら一か月後の最終日の日付を返します。

構文

EOMonth( DateTime, NumberOfMonths )

DateTime - 必須。 操作する日付/時刻値。
NumberOfMonths - 必須。 DateTime に加算または減算する月数。 正の値は将来の日付、負の値は過去の日付を示し、ゼロは入力 DateTime の日部分を月末に変更します。

使い方

一か月後の日付を取得する

EDate(DatePickerCanvas1.SelectedDate, 1)
DateAdd(DatePickerCanvas1.SelectedDate, 1, TimeUnit.Months)

上記の数式のどちらでも一か月後の日付を取得できます。

指定した月が当月より少ない日数の場合、最後の日付が出力されます。

月末を取得する

今まで月末の取得は、以下の数式で行っていました。

Date関数の日付に0を指定すると前月の最終日が取得できます

EOMonth関数が追加されたことで、少しだけ簡単に書けるようになりました。

EOMonth(DatePickerCanvas1.SelectedDate, 0)

月初を取得する

Date(Year(DatePickerCanvas1.SelectedDate), Month(DatePickerCanvas1.SelectedDate), 1)

月初の取得もEOMonth関数の追加によって少しだけ簡単になりました。

DateAdd(EOMonth(DatePickerCanvas1.SelectedDate, 0), 1)

処理にかかった秒数を計算する

この記事では、処理の直前にNow()を_Start変数に格納し、処理の直後に_Start-Now()を行うことで処理秒数を算出しています。

Set(_Start, Now());
~計測したい処理~
Set(_Time, DateDiff(Now(), _Start,TimeUnit.Milliseconds))

週次カレンダー

少々発展的ですが、週次カレンダーも作れます。

日付型にかかわる関数

コメント

タイトルとURLをコピーしました