Funkcje DateAdd, DateDiff i TimeZoneOffset usługi PowerAppsDateAdd, DateDiff, and TimeZoneOffset functions in PowerApps

Funkcje te służą do dodawania różnicy do wartości daty/godziny, odnajdywania takiej różnicy i wykonywania konwersji między czasem lokalnym i czasem UTC.Adds to or finds the difference in date/time values and converts between local time and UTC.

OpisDescription

Funkcja DateAdd służy do dodawania liczby jednostek do wartości daty/godziny.The DateAdd function adds a number of units to a date/time value. Wynik to nowa wartość daty/godziny.The result is a new date/time value. Możliwe jest również odjęcie liczby jednostek od wartości daty/godziny, określając wartość ujemną.You can also subtract a number of units from a date/time value by specifying a negative value.

Funkcja DateDiff zwraca różnicę między dwiema wartościami daty/godziny.The DateDiff function returns the difference between two date/time values. Wynik to liczba jednostek.The result is a number of units.

W przypadku obu tych funkcji jednostki mogą być następujące: Milliseconds (milisekundy), Seconds (sekundy), Minutes (minuty), Hours (godziny), Days (dni), Months (miesiące), Quarters (kwartały) lub Years (lata).For both functions, units can be Milliseconds, Seconds, Minutes, Hours, Days, Months, Quarters, or Years. Domyślna jednostka używana przez obie funkcje to Days (dni).By default, both functions use Days as units.

Funkcja TimeZoneOffset zwraca liczbę minut między czasem lokalnym i czasem UTC użytkownika.The TimeZoneOffset function returns the number of minutes between the user's local time and UTC (Coordinated Universal Time).

Możliwe jest użycie funkcji DateAdd wraz z funkcją TimeZoneOffset w celu wykonania konwersji między czasem lokalnym, a czasem UTC użytkownika.You can use DateAdd with the TimeZoneOffset to convert between the user's local time and UTC (Coordinated Universal Time). Dodanie wartości funkcji TimeZoneOffset spowoduje wykonanie konwersji czasu lokalnego na czas UTC, a odjęcie go (dodanie wartości ujemnej) spowoduje wykonanie konwersji czasu UTC na czas lokalny.Adding TimeZoneOffset will convert a local time to UTC, and subtracting it (adding the negative) will convert from UTC to local time.

Więcej informacji można także uzyskać w artykule na temat pracy z datami i godzinami.Also see working with dates and times for more information.

SkładniaSyntax

DateAdd( WartośćDateTime, IlośćJednostekDoDodania [, Jednostki ] )DateAdd( DateTime, Addition [, Units ] )

  • DataGodzina — wymagane.DateTime - Required. Wartość daty/godziny używana w ramach operacji.Date/time value to operate on.
  • IlośćJednostekDoDodania — wymagane.Addition - Required. Liczba jednostek do dodania do wartości WartośćDateTime.Number, in Units, to add to the DateTime.
  • Jednostki — opcjonalne.Units - Optional. Jednostki do dodania mogą być następującego typu: Milliseconds (milisekundy), Seconds (sekundy), Minutes (minuty), Hours (godziny), Days (dni), Months (miesiące), Quarters (kwartały) lub Years (lata).The type of Units to add: Milliseconds, Seconds, Minutes, Hours, Days, Months, Quarters, or Years. Jeśli typ nie zostanie określony, jako jednostka używana jest wartość Days (dni).If not specified, Days are used.

DateDiff( PoczątkowaWartośćDateTime, KońcowaWartośćDateTime [, Jednostki ] )DateDiff( StartDateTime, EndDateTime [, Units ] )

  • PoczątkowaWartośćDateTime — wymagane.StartDateTime - Required. Początkowa wartość daty/godziny.Starting date/time value.
  • KońcowaWartośćDateTime — wymagane.EndDateTime - Required. Końcowa wartość daty/godziny.Ending date/time value.
  • Jednostki — opcjonalne.Units - Optional. Jednostki do dodania mogą być następującego typu: Milliseconds (milisekundy), Seconds (sekundy), Minutes (minuty), Hours (godziny), Days (dni), Months (miesiące), Quarters (kwartały) lub Years (lata).The type of Units to add: Milliseconds, Seconds, Minutes, Hours, Days, Months, Quarters, or Years. Jeśli typ nie zostanie określony, jako jednostka używana jest wartość Days (dni).If not specified, Days are used.

TimeZoneOffset( [ WartośćDateTime ] )TimeZoneOffset( [ DateTime ] )

  • WartośćDateTime — opcjonalne.DateTime - Optional. Wartość daty/godziny, dla której ma zostać zwrócone przesunięcie.Date/time value for which to return the offset. Domyślnie używana jest bieżąca wartość daty/godziny.By default, the current date/time is used.

PrzykładyExamples

We wszystkich poniższych przykładach założono, że bieżąca data i godzina to 15 lipca 2013 r., 13:02:00.In all of these examples, assume that the current date and time is July 15, 2013, 1:02 PM.

Proste wywołanie funkcji DateAddSimple DateAdd

FormułaFormula OpisDescription WynikResult
Text( DateAdd( Now(), 3 ),
"dd-mm-yyyy hh:mm" )
Text( DateAdd( Now(), 3 ),
"dd-mm-yyyy hh:mm" )
Dodaje trzy dni (jednostki domyślne) do bieżącej daty i godziny.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" )
Dodaj cztery godziny do bieżącej daty i godziny.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" )
Dodaje miesiąc do bieżącej daty bez godziny, ponieważ funkcja Today nie zwraca składnika godziny.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" )
Odejmuje 30 minut od bieżącej daty i godziny.Subtracts 30 minutes from the current date and time. "15-07-2013 12:32""15-07-2013 12:32"

Proste wywołanie funkcji DateDiffSimple DateDiff

FormułaFormula OpisDescription WynikResult
DateDiff( Now(), DateValue("1/1/2014") )DateDiff( Now(), DateValue("1/1/2014") ) Zwraca różnicę między dwiema jednostkami w domyślnych jednostkach — Days (dni)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 ) Zwraca różnicę między dwiema wartościami w jednostkach Months (miesiące)Returns the difference between the two values in Months 66
DateDiff( Now(), Today(), Minutes )DateDiff( Now(), Today(), Minutes ) Zwraca różnicę między bieżącą datą/godziną i bieżącą datą (bez godziny) w minutach.Returns the difference between the current date/time and the current date only (no time) in minutes. Ponieważ wartość zwracana przez funkcję Now jest późniejsza niż wartość zwracana przez funkcję Today, wynik będzie ujemny.Since the Now is later than Today the result will be negative. -782-782

Wykonywanie konwersji na czas UTCConverting to UTC

Aby wykonać konwersję na czas UTC, dodaj wartość zwracaną przez funkcję TimeZoneOffset dla danej godziny.To convert to UTC (Coordinated Universal Time), add the TimeZoneOffset for the given time.

Na potrzeby przykładu załóżmy, że aktualna data i godzina to 15 lipca 2013 r., 13:02:00 czasu pacyficznego (PDT, UTC-7).For example, imagine the current date and time is July 15, 2013, 1:02 PM in Pacific Daylight Time (PDT, UTC-7). Aby określić bieżącą godzinę w formacie UTC, użyj następującej funkcji:To determine the current time in UTC, use:

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

Domyślnie wartość zwracana przez funkcję TimeZoneOffset to bieżąca godzina, więc nie ma potrzeby przekazywać do niej argumentu.TimeZoneOffset defaults to the current time, so you don't need to pass it an argument.

Aby wyświetlić wynik, użyj funkcji Text w formacie dd-mm-yyyy hh:mm, co spowoduje zwrócenie wartości 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.

Wykonywanie konwersji z czasu UTCConverting from UTC

Aby wykonać konwersję z czasu UTC, odejmij wartość zwracaną przez funkcję TimeZoneOffset (dodając wartość ujemną) dla danej godziny.To convert from UTC, subtract the TimeZoneOffset (by adding the negative) for the given time.

Na potrzeby przykładu załóżmy, że data i godzina w formacie UTC, 15 lipca 2013 r., 20:02:00, jest przechowywana w zmiennej o nazwie GodzinaPoczatkowa.For example, imagine the UTC date and time July 15, 2013, 8:02 PM is stored in a variable named StartTime. Aby dostosować godzinę dla strefy czasowej użytkownika, wywołaj funkcję w następujący sposób:To adjust the time for the user's time zone, use:

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

Należy pamiętać, aby dodać znak minus przed wywołaniem funkcji TimeZoneOffset w celu odjęcia przesunięcia, a nie dodania go.Note the negative sign before TimeZoneOffset to subtract the offset rather than add it.

Aby wyświetlić wynik, użyj funkcji Text w formacie dd-mm-yyyy hh:mm, co spowoduje zwrócenie wartości 15-07-2013 13:02 czasu pacyficznego.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.