Функции DateAdd, DateDiff и TimeZoneOffset в PowerAppsDateAdd, 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 возвращает разницу между двумя значениями даты и времени.The DateDiff function returns the difference between two date/time values. Результатом является число единиц измерения.The result is a number of units.

Возможные единицы измерения, используемые в обеих функциях: Milliseconds, Seconds, Minutes, Hours, Days, Months, Quarters или Years.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).

Можно совмещать функции DateAdd и TimeZoneOffset, чтобы выполнять преобразование между местным временем пользователя и временем в формате 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( Дата_и_время, Величина [, Единицы ] )DateAdd( DateTime, Addition [, Units ] )

  • Дата_и_время — обязательный аргумент.DateTime - Required. Значение даты и времени, для которого необходимо выполнить операцию.Date/time value to operate on.
  • Величина — обязательный аргумент.Addition - Required. Число, добавляемое к значению Дата_и_время, в единицах Единицы.Number, in Units, to add to the DateTime.
  • Единицы — необязательный аргумент.Units - Optional. Возможный тип аргумента Единицы: Milliseconds, Seconds, Minutes, Hours, Days, Months, Quarters или Years.The type of Units to add: Milliseconds, Seconds, Minutes, Hours, Days, Months, Quarters, or Years. Если значение не указано, используются единицы Days.If not specified, Days are used.

DateDiff( Начальная_дата_и_время, Конечная_дата_и_время [, Единицы ] )DateDiff( StartDateTime, EndDateTime [, Units ] )

  • Начальная_дата_и_время — обязательный аргумент.StartDateTime - Required. Начальное значение даты и времени.Starting date/time value.
  • Конечная_дата_и_время — обязательный аргумент.EndDateTime - Required. Конечное значение даты и времени.Ending date/time value.
  • Единицы — необязательный аргумент.Units - Optional. Возможный тип аргумента Единицы: Milliseconds, Seconds, Minutes, Hours, Days, Months, Quarters или Years.The type of Units to add: Milliseconds, Seconds, Minutes, Hours, Days, Months, Quarters, or Years. Если значение не указано, используются единицы Days.If not specified, Days are used.

TimeZoneOffset( [ Дата_и_время ] )TimeZoneOffset( [ DateTime ] )

  • Дата_и_время — необязательный аргумент.DateTime - Optional. Значение даты и времени, для которого возвращается смещение.Date/time value for which to return the offset. По умолчанию используются текущие дата и время.By default, the current date/time is used.

ПримерыExamples

Во всех примерах предполагается, что текущие дата и время — 13:02 15 июля 2013 года.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" )
Добавляет три дня (единицы измерения по умолчанию) к текущему значению даты и времени.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" )
Добавляет четыре часа к текущему значению даты и времени.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" )
Добавляет один месяц к текущему значению даты без указания времени, так как 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") ) Возвращает разницу между двумя значениями в днях, являющихся единицами измерения по умолчанию.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 ) Возвращает разницу между двумя значениями в месяцах.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. Так как значение Now следует после значения Today, то результат будет отрицательным.Since the Now is later than Today the result will be negative. –782-782

Преобразование в формат UTCConverting to UTC

Чтобы выполнить преобразование в формат UTC, добавьте значение TimeZoneOffset для заданного времени.To convert to UTC (Coordinated Universal Time), add the TimeZoneOffset for the given time.

Например, представьте, что сейчас 13:02 15 июля 2013 года по летнему тихоокеанскому времени США (UTC-7).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 в формате дд-мм-гггг чч:мм. Она вернет 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.

Преобразование из формата UTCConverting from UTC

Чтобы преобразовать время из формата UTC в местное время, следует вычесть значение TimeZoneOffset (то есть добавить отрицательное значение) из заданного времени.To convert from UTC, subtract the TimeZoneOffset (by adding the negative) for the given time.

Для примера предположим, что значение даты и времени в формате UTC, 20:02:00 15 июля 2013 года, хранится в переменной 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 в формате дд-мм-гггг чч:мм. Она вернет 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.