DateAdd, DateDiffun TimeZoneOffset funkcijas

Funkcijas Attiecas uz
DateAdd
DateDiff
Audekla programmas Copilot Studio Darbvirsmas plūsmas Dataverse formulas kolonnas Modeļa vadītas programmas Power Platform CLI Dataverse funkcijas Power Pages
TimeZoneOffset Audekla programmas Copilot Studio Desktop plūsmas Modeļa vadītas programmas Power Platform CLI Dataverse funkcijas Power Pages
Function Attiecas uz
DateAdd
DateDiff
TimeZoneOffset

Pievieno vai atrod atšķirību datuma/laika vērtībās un konvertē starp lokālo laiku un UTC.

Apraksts

Funkcija DateAdd datuma/laika vērtībai pievieno vairākas vienības. Rezultāts ir jauna datuma/laika vērtība. Varat arī atņemt vienību skaitu no datuma/laika vērtības, norādot negatīvu vērtību.

Funkcija DateDiff atgriež starpību starp divām datuma/laika vērtībām. Rezultāts ir vesels vienību skaits.

Abām funkcijām vienības var būt TimeUnit.Milliseconds,TimeUnit.Seconds,TimeUnit.Minutes,TimeUnit.Hours,TimeUnit.Days,TimeUnit.Months,TimeUnit.Quarters vai TimeUnit.Years. Pēc noklusējuma abas funkcijas izmanto TimeUnit.Days kā vienības.

Funkcija TimeZoneOffset atgriež minūšu skaitu starp lietotāja vietējo laiku un UTC (koordinētais universālais laiks).

Varat izmantot DateAdd ar , TimeZoneOffset lai konvertētu starp lietotāja vietējo laiku un UTC (koordinētais universālais laiks). Saskaitot TimeZoneOffset vietējo laiku konvertēs uz UTC, un atņemot to (pievienojot negatīvo) tiks konvertēts no UTC uz vietējo laiku.

Papildinformāciju skatiet arī datu tipos Date, Time un DateTime un darbā ar datumiem un laikiem .

Sintakse

DateAdd( DateTime, saskaitījums [, Vienības ] )

  • DateTime - nepieciešams. Datuma/laika vērtība, kurā jādarbojas.
  • Papildinājums - Nepieciešams. Skaitlis, izteikts Vienībās, kuru pievienot DateTime.
  • Vienības - pēc izvēles. Pievienojamo vienību tips:TimeUnit.Milliseconds,TimeUnit.Seconds,TimeUnit.Minutes,TimeUnit.Hours,TimeUnit.Days,TimeUnit.Months,TimeUnit.Quarters vaiTimeUnit.Years. Ja tas nav norādīts, tiek izmantotas TimeUnit.Days .

DateDiff( StartDateTime, EndDateTime [, Vienības ] )

  • StartDateTime - nepieciešams. Sākuma datuma/laika vērtība.
  • EndDateTime - nepieciešams. Beigu datuma/laika vērtība.
  • Vienības - pēc izvēles. Atņemamo vienību tips:TimeUnit.Milliseconds,TimeUnit.Seconds,TimeUnit.Minutes,TimeUnit.Hours,TimeUnit.Days,TimeUnit.Months,TimeUnit.Quarters vaiTimeUnit.Years. Ja tas nav norādīts, tiek izmantotas TimeUnit.Days .

TimeZoneOffset( [ DateTime ] )

  • DateTime - pēc izvēles. Datuma/laika vērtība, kurai jāatgriež nobīde. Pēc noklusējuma tiek izmantots pašreizējais datums/laiks.

Piemēri

Visos šajos piemēros pieņemiet, ka pašreizējais laiks un datums ir July 15, 2013, 1:02 PM.

Vienkāršs DateAdd

Formula Apraksts Rezultāts
Teksts( DateAdd( Tagad(), 3 ),
"dd-mm-gggg hh:mm" )
Pašreizējam datumam un laikam pievieno trīs dienas (noklusējuma vienības). "18-07-2013 13:02"
Text( DateAdd( Tagad(), 4, TimeUnit.Hours ),
"dd-mm-gggg hh:mm" )
Pievienojiet pašreizējam datumam un laikam četras stundas. "15-07-2013 17:02"
Text( DateAdd( Šodien(), 1, TimeUnit.Months ),
"dd-mm-gggg hh:mm" )
Pievieno vienu mēnesi pašreizējam datumam bez laika, jo Today neatgriež laika komponentu. "15-08-2013 00:00"
Teksts( DateAdd( Tagad(), -30, TimeUnit.Minutes ),
"dd-mm-gggg hh:mm" )
Noņem 30 minūtes no pašreizējā datuma un laika. "15-07-2013 12:32"

Vienkāršs DateDiff

Formula Apraksts Rezultāts
DateDiff( Tagad(), DateValue ("1/1/2014") ) Atgriež divu vienību starpību noklusējuma vienībās TimeUnit.Days. 170
DateDiff( Now(), DateValue("1/1/2014"), TimeUnit.Months ) Atgriež abu vērtību starpību timeunit.Months 6
DateDiff( Tagad(), Šodien(), TimeUnit.Minutes ) Atgriež starpību starp pašreizējo datumu/laiku un pašreizējo datumu vienīgi (bez laika) minūtēs. Tā kā Now ir vēlāks nekā Today, rezultāts būs negatīvs. -782

Datumu atšķirība ar daļskaitļa rezultātiem

Funkcija DateDiff atgriež tikai veselu atņemto vienību skaitu, un precizitāte tiek norādīta norādītajā vienībā. Lai aprēķinātu starpību ar augstāku precizitāti, izmantojiet mazāku vienību un pārvērtiet rezultātu atbilstoši, piemēram, tālāk redzamajiem piemēriem.

Formula Apraksts Rezultāts
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Hours ) Minūtes/sekundes tiek ignorētas, atšķirību pamatojot ar laiku līdz stundai. 1
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Minutes )/60 Minūtes tiek izmantotas starpībā, un rezultāts tiek dalīts ar 60, lai būtu starpība stundās. 0.5
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Seconds )/3600 Minūtes un sekundes tiek izmantotas starpībā; un rezultāts tiek dalīts ar 3600, lai būtu starpība stundās. 0.51

Konvertēšana par UTC

Lai konvertētu uz UTC (koordinēto universālo laiku), pievienojiet norādītajam TimeZoneOffset laikam.

Piemēram, iedomājieties, ka pašreizējais datums un laiks ir July 15, 2013 1:02 PM Klusā okeāna vasaras laikā (PDT, UTC-7). Lai noteiktu pašreizējo laiku UTC sistēmā, izmantojiet:

  • DateAdd( Tagad(), TimeZoneOffset(), TimeUnit.Minutes )

TimeZoneOffset noklusējuma laiks ir pašreizējais laiks, tāpēc tam nav jānodod arguments.

Lai skatītu rezultātu, izmantojiet Text funkciju ar formātu dd-mm-yyyy hh:mm, kas atgriezīs 15-07-2013 20:02.

Konvertēšana no UTC

Lai konvertētu no UTC, atņemiet TimeZoneOffset (pievienojot negatīvo) par doto laiku.

Piemēram, iedomājieties, ka UTC datums un laiks July 15, 2013, 8:02 PM tiek glabāts mainīgajā ar nosaukumu StartTime. Lai pielāgotu laiku lietotāja laika joslai, izmantojiet:

  • DateAdd( StartTime, −TimeZoneOffset( StartTime ), TimeUnit.Minutes )

Ņemiet vērā negatīvo zīmi iepriekš TimeZoneOffset , lai atņemtu nobīdi, nevis to pievienotu.

Lai skatītu rezultātu, izmantojiet funkciju Text ar formātu dd-mm-yyyy hh:mm, kas radīs rezultātu 15-07-2013 13:02, ja atrodaties Klusā okeāna vasaras laika joslā.