PowerApps の DateAdd、DateDiff、および TimeZoneOffset 関数DateAdd, DateDiff, and TimeZoneOffset functions in PowerApps

日付/時刻値に加算または日付/時刻値の差を検出し、ローカル時刻と UTC の間で変換します。Adds to or finds the difference in date/time values and converts between local time and UTC.

説明Description

DateAdd 関数は、日付/時刻値にいくつかの単位の値を追加します。The DateAdd function adds a number of units to a date/time value. 結果は新しい日付/時間値です。The result is a new date/time value. また、負の値を指定して、日付/時刻値からいくつかの単位の値を減算することもできます。You can also subtract a number of units from a date/time value by specifying a negative value.

DateDiff 関数は、2 つの日付/時間値の差を返します。The DateDiff function returns the difference between two date/time values. 結果は、いくつかの単位の値です。The result is a number of units.

どちらの関数でも、単位は MillisecondsSecondsMinutesHoursDaysMonthsQuartersYears のいずれかです。For both functions, units can be Milliseconds, Seconds, Minutes, Hours, Days, Months, Quarters, or Years. 既定では、どちらの関数も単位として Days を使用します。By default, both functions use Days as units.

TimeZoneOffset 関数はユーザーのローカル時刻と UTC (協定世界時) の差を分で返します。The TimeZoneOffset function returns the number of minutes between the user's local time and UTC (Coordinated Universal Time).

DateAddTimeZoneOffset を使用して、ユーザーのローカル時刻と UTC (協定世界時) 間で変換できます。You can use DateAdd with the TimeZoneOffset to convert between the user's local time and UTC (Coordinated Universal Time). TimeZoneOffset はローカル時刻を UTC に変換します。それを減算 (負の数を加算) することで、UTC からローカル時刻に変換します。Adding TimeZoneOffset will convert a local time to UTC, and subtracting it (adding the negative) will convert from UTC to local time.

詳細については、日付と時刻の操作に関するページも参照してください。Also see working with dates and times for more information.

構文Syntax

DateAdd( DateTime, Addition [, Units ] )DateAdd( DateTime, Addition [, Units ] )

  • DateTime - 必須。DateTime - Required. 操作する日付/時刻値。Date/time value to operate on.
  • Addition - 必須。Addition - Required. DateTime に追加する数値 (単位は Units)。Number, in Units, to add to the DateTime.
  • Units - 省略可能。Units - Optional. 追加する Units の種類: MillisecondsSecondsMinutesHoursDaysMonthsQuartersYears のいずれかです。The type of Units to add: Milliseconds, Seconds, Minutes, Hours, Days, Months, Quarters, or Years. 指定しない場合は、Days が使用されます。If not specified, Days are used.

DateDiff( StartDateTime, EndDateTime [, Units ] )DateDiff( StartDateTime, EndDateTime [, Units ] )

  • StartDateTime - 必須。StartDateTime - Required. 開始の日付/時刻値。Starting date/time value.
  • EndDateTime - 必須。EndDateTime - Required. 終了の日付/時刻値。Ending date/time value.
  • Units - 省略可能。Units - Optional. 追加する Units の種類: MillisecondsSecondsMinutesHoursDaysMonthsQuartersYears のいずれかです。The type of Units to add: Milliseconds, Seconds, Minutes, Hours, Days, Months, Quarters, or Years. 指定しない場合は、Days が使用されます。If not specified, Days are used.

TimeZoneOffset( [ DateTime ] )TimeZoneOffset( [ DateTime ] )

  • DateTime - 省略可能です。DateTime - Optional. オフセットを取得する日付/時刻値。Date/time value for which to return the offset. 既定では、現在の日付/時刻が使用されます。By default, the current date/time is used.

Examples

これらすべての例では、現在の日付と時刻を July 15, 2013, 1:02 PM と想定しています。In all of these examples, assume that the current date and time is July 15, 2013, 1:02 PM.

単純な DateAddSimple DateAdd

数式Formula 説明Description 結果Result
Text( DateAdd( Now(), 3 ),
"dd-mm-yyyy hh:mm" )
Text( DateAdd( Now(), 3 ),
"dd-mm-yyyy hh:mm" )
現在の日付と時刻に 3 日 (既定の単位) を加算します。Adds three days (default units) to the current date and time. "18-07-2013 13:02""18-07-2013 13:02"
Text( DateAdd( Now(), 4, Hours ),
"dd-mm-yyyy hh:mm" )
Text( DateAdd( Now(), 4, Hours ),
"dd-mm-yyyy hh:mm" )
現在の日付と時刻に 4 時間を加算します。Add four hours to the current date and time. "15-07-2013 17:02""15-07-2013 17:02"
Text( DateAdd( Today(), 1, Months ),
"dd-mm-yyyy hh:mm" )
Text( DateAdd( Today(), 1, Months ),
"dd-mm-yyyy hh:mm" )
現在の日付に時刻のない 1 か月を加算します。Today は時刻のコンポーネントを返さないため、時刻はありません。Adds one month to the current date, without time as Today doesn't return a time component. "15-08-2013 00:00""15-08-2013 00:00"
Text( DateAdd( Now(), ‑30, Minutes ),
"dd-mm-yyyy hh:mm" )
Text( DateAdd( Now(), ‑30, Minutes ),
"dd-mm-yyyy hh:mm" )
現在の日付と時刻から 30 分を減算します。Subtracts 30 minutes from the current date and time. "15-07-2013 12:32""15-07-2013 12:32"

単純な DateDiffSimple DateDiff

数式Formula 説明Description 結果Result
DateDiff( Now(), DateValue("1/1/2014") )DateDiff( Now(), DateValue("1/1/2014") ) 既定の Days を単位として 2 つの単位の差を返します。Returns the difference between the two units in the default units of Days 170170
DateDiff( Now(), DateValue("1/1/2014"), Months )DateDiff( Now(), DateValue("1/1/2014"), Months ) Months を単位として 2 つの値の差を返します。Returns the difference between the two values in Months 66
DateDiff( Now(), Today(), Minutes )DateDiff( Now(), Today(), Minutes ) 現在の日付/時刻と現在の日付のみ (時刻なし) の差を分の単位で返します。Returns the difference between the current date/time and the current date only (no time) in minutes. NowToday よりも後であるため、結果は負になります。Since the Now is later than Today the result will be negative. -782-782

UTC への変換Converting to UTC

UTC (協定世界時) に変換する場合は、指定された時刻の TimeZoneOffset を追加します。To convert to UTC (Coordinated Universal Time), add the TimeZoneOffset for the given time.

たとえば、現在の日付と時刻が太平洋夏時間 (PDT、UTC-7) の July 15, 2013, 1:02 PM であるとします。For example, imagine the current date and time is July 15, 2013, 1:02 PM in Pacific Daylight Time (PDT, UTC-7). UTC で表した現在の時刻を確認するには、以下を使用します。To determine the current time in UTC, use:

  • DateAdd( Now(), TimeZoneOffset(), Minutes )DateAdd( Now(), TimeZoneOffset(), Minutes )

TimeZoneOffset は既定で現在の時刻になります。そのため引数として渡す必要はありません。TimeZoneOffset defaults to the current time, so you don't need to pass it an argument.

結果を表示するには、Text 関数を使用し、dd-mm-yyyy hh:mm という形式を指定すると、15-07-2013 20:02 が返されます。To see the result, use the Text function with the format dd-mm-yyyy hh:mm, which will return 15-07-2013 20:02.

UTC からの変換Converting from UTC

UTC から変換するには、TimeZoneOffset を (負の値を加算することによって) 減算します。To convert from UTC, subtract the TimeZoneOffset (by adding the negative) for the given time.

たとえば、UTC で表した July 15, 2013, 8:02 PM という日付と時刻が、StartTime という名前の変数に格納されているとします。For example, imagine the UTC date and time July 15, 2013, 8:02 PM is stored in a variable named StartTime. ユーザーのタイム ゾーンに合わせて時刻を調整するには、以下を使用します。To adjust the time for the user's time zone, use:

  • DateAdd( StartTime, -TimeZoneOffset( StartTime ), Minutes )DateAdd( StartTime, -TimeZoneOffset( StartTime ), Minutes )

TimeZoneOffset の前に負の符号が付いています。これは、オフセットを加算するのではなく減算するためです。Note the negative sign before TimeZoneOffset to subtract the offset rather than add it.

結果を表示するには、Text 関数を使用し、dd-mm-yyyy hh:mm という形式を指定すると、ユーザーのタイム ゾーンが太平洋夏時間であれば 15-07-2013 13:02 が返されます。To see the result, use the Text function with the format dd-mm-yyyy hh:mm, which will result in 15-07-2013 13:02 if you're in Pacific Daylight Time.