Funcions DateAdd, DateDiff i TimeZoneOffset
Function | S'aplica a |
---|---|
DataAfegir | Columnes Dataverse de fórmula d'aplicacions de llenç Fluxos d'escriptori Aplicacions Power Platform basades en models CLI |
DateDiff | Columnes Dataverse de fórmula d'aplicacions de llenç Fluxos d'escriptori Aplicacions Power Platform basades en models CLI |
Zona horàriaOffset | Aplicacions de llenç Fluxos d'escriptori Aplicacions Power Platform basades en models CLI |
S'afegeix o es troba la diferència en els valors de data/hora i es converteix entre l'hora local i l'UTC.
Descripció
La funció DateAdd afegeix un nombre d'unitats a un valor de data/hora. El resultat és un nou valor de data/hora. També podeu restar un nombre d'unitats a un valor de data/hora especificant un valor negatiu.
La funció DateDiff retorna la diferència entre dos valors de data/hora. El resultat és un nombre enter d'unitats.
Per a ambdues funcions, les unitats poden ser TimeUnit.Milliseconds, TimeUnit.Seconds , TimeUnit.Minutes , TimeUnit.Hours , TimeUnit.Days , TimeUnit.Mesos , TimeUnit.Quarters oTimeUnit.Years . Per defecte, ambdues funcions utilitzen TimeUnit.Days com a unitats.
La funció TimeZoneOffset retorna el nombre de minuts entre l'hora local de l'usuari i l'UTC (temps universal coordinat).
Podeu utilitzar DateAdd amb TimeZoneOffset per convertir entre l'hora local de l'usuari i l'UTC (temps universal coordinat). Si afegiu TimeZoneOffset , convertirà una hora local en UTC i si la resteu (afegint el negatiu) convertirà una hora en UTC a l'hora local.
Consulteu també els tipus de dades Date, Time i DateTime i Treballar amb dates i hores per obtenir més informació.
Sintaxi
DateAdd( DateTime, Addition [, Unitats ] )
- DateTime: obligatori. Valor de data/hora per operar.
- Addition: obligatori. Número, en Unitats, per afegir a DateTime.
- Unitats: opcional. El tipus d'unitats a afegir: TimeUnit.Milliseconds , TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Days, TimeUnit.Mesos, TimeUnit.Quarters o TimeUnit.Years. Si no s'especifica, s'utilitzen TimeUnit.Days .
DateDiff( StartDateTime, EndDateTime [, Unitats ] )
- StartDateTime: obligatori. Valor de data i hora d'inici.
- EndDateTime: obligatori. Valor de data i hora de finalització.
- Unitats: opcional. El tipus d'unitats a restar: TimeUnit.Milliseconds,TimeUnit.Seconds,TimeUnit.Minutes,TimeUnit.Hours,TimeUnit.Days,TimeUnit.Mesos,TimeUnit.Quarters o TimeUnit.Years. Si no s'especifica, s'utilitzen TimeUnit.Days .
TimeZoneOffset( [ DateTime ] )
- DateTime: opcional. Valor de data/hora per al qual es retorna el desplaçament. Per defecte, s'utilitza la data i l'hora actuals.
Exemples
En tots aquests casos, suposem que la data i l'hora actual és el 15 de juliol de 2013, 1:02 de la tarda.
DateAdd senzill
Fórmula | Descripció | Resultat |
---|---|---|
Text( DateAdd( Now(), 3 ), "dd-mm-yyyy hh:mm" ) |
Afegeix tres dies (unitats per defecte) a la data i l'hora actuals. | "18-07-2013 13:02" |
Text( DateAdd( Now(), 4, TimeUnit.Hours ), "dd-mm-yyyy hh:mm" ) |
Afegiu quatre hores a la data i l'hora actuals. | "15-07-2013 17:02" |
Text( DateAdd( Today(), 1, TimeUnit.Months ), "dd-mm-yyyy hh:mm" ) |
Afegeix un mes a la data actual, sense hora, ja que Today no retorna un component d'hora. | "15-08-2013 00:00" |
Text( DateAdd( Now(), -30, TimeUnit.Minutes ), "dd-mm-yyyy hh:mm" ) |
Resta 30 minuts a la data i l'hora actuals. | "15-07-2013 12:32" |
DateDiff senzill
Fórmula | Descripció | Resultat |
---|---|---|
DateDiff( Now(), DateValue("1/1/2014") ) | Retorna la diferència entre les dues unitats en les unitats per defecte de TimeUnit.Days | 170 |
DateDiff( Now(), DateValue("1/1/2014"), TimeUnit.Months ) | Retorna la diferència entre els dos valors de TimeUnit.Months | 6 |
DateDiff( Now(), Today(), TimeUnit.Minutes ) | Retorna la diferència entre la data i l'hora actuals i la data actual només (sense hora) en minuts. Atès que Now és posterior a Today, el resultat serà negatiu. | -782 |
Diferència de dates amb resultats fraccionats
La funció DateDiff només retorna un nombre enter de les unitats que s'estan restant i la precisió s'especifica a la unitat especificada. Per calcular la diferència amb una precisió més alta, utilitzeu una unitat més petita i convertiu el resultat adient, com ara als exemples següents.
Fórmula | Descripció | Resultat |
---|---|---|
DateDiff( TimeValue ("09:45:00"), TimeValue ("10:15:36"), TimeUnit.Hores ) | Els minuts/segons s'ignoren, la diferència es basa en el temps fins a l'hora. | 1 |
DateDiff( TimeValue ("09:45:00"), TimeValue ("10:15:36"), TimeUnit.Minutes )/60 | Els minuts s'utilitzen en la diferència i el resultat es divideix per 60 per tenir la diferència en hores. | 0.5 |
DateDiff( TimeValue ("09:45:00"), TimeValue ("10:15:36"), TimeUnit.Seconds )/3600 | Els minuts i segons s'utilitzen en la diferència; el resultat es divideix per 3600 per tenir la diferència en hores. | 0.51 |
Convertir a UTC
Per convertir a l'UTC (hora universal coordinada), afegiu el TimeZoneOffset per a l'hora donada.
Per exemple, imagineu que la data i l'hora actual és el 15 de juliol de 2013, 1:02 de la tarda a l'hora d'estiu del Pacífic (PDT, UTC-7). Per determinar l'hora actual en UTC, utilitzeu:
- DateAdd( Ara(), TimeZoneOffset(), TimeUnit.Minutes )
TimeZoneOffset canvia per defecte per a l'hora actual, per la qual cosa no cal passar cap argument.
Per veure el resultat, utilitzeu la funció Text amb el format dd-mm-yyyy hh:mm, que retornarà 15-07-2013 20:02.
Convertir des de l'UTC
Per convertir des d'UTC, resteu el TimeZoneOffset (afegint-hi el negatiu) per a l'hora donada.
Per exemple, imagineu que la data i l'hora d'UTC del 15 de juliol del 2013 ales 8:02 del vespre s'emmagatzemen en una variable anomenada StartTime. Per ajustar l'hora per al fus horari de l'usuari, utilitzeu:
- DateAdd ( StartTime, − TimeZoneOffset ( StartTime ), TimeUnit.Minutes )
Observeu el signe negatiu abans de TimeZoneOffset per restar el desplaçament en comptes d'afegir-lo.
Per veure el resultat, utilitzeu la funció Text amb el format dd-mm-yyyy hh:mm, que resultarà en 15-07-2013 13:02 si sou a l'hora d'estiu del Pacífic.
Comentaris
https://aka.ms/ContentUserFeedback.
Properament: al llarg del 2024 eliminarem gradualment GitHub Issues com a mecanisme de retroalimentació del contingut i el substituirem per un nou sistema de retroalimentació. Per obtenir més informació, consulteu:Envieu i consulteu els comentaris de