Notă
Accesul la această pagină necesită autorizare. Puteți încerca să vă conectați sau să modificați directoarele.
Accesul la această pagină necesită autorizare. Puteți încerca să modificați directoarele.
| Funcţii | Se aplică la |
|---|---|
| DateAdd DateDiff |
|
| TimeZoneOffset |
|
| Funcţie | Se aplică la |
|---|---|
| DateAdd | |
| DateDiff | |
| TimeZoneOffset |
Adaugă sau găsește diferența dintre valorile dată/oră și convertește între ora locală și UTC.
Descriere
Funcția DateAdd adună un număr de unități la o valoare dată/oră. Rezultatul este o nouă valoare dată/oră. De asemenea, puteți scădea un număr de unități dintr-o valoare dată/oră specificând o valoare negativă.
Funcția DateDiff returnează diferența dintre două valori dată/oră. Rezultatul este un număr întreg de unități.
Pentru ambele funcții, unitățile pot fi TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, Ti meUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters, sau TimeUnit.Years. În mod implicit, ambele funcții folosesc TimeUnit.Days ca unități.
Funcția TimeZoneOffset returnează numărul de minute dintre ora locală a utilizatorului și UTC (Timpul universal).
Puteți utiliza DateAdd cu scopul de TimeZoneOffset a efectua conversia între ora locală a utilizatorului și UTC (Ora universală). Adăugarea TimeZoneOffset va converti o oră locală în UTC și o va scădea (adăugând negativul) se va transforma din UTC în oră locală.
Consultați, de asemenea, Tipurile de date Data, Ora și DateTime și lucrarea cu date și ore pentru mai multe informații.
Sintaxă
DateAdd( DateTime, Adunare [, Unități ] )
- DateTime - Obligatoriu. Valoarea Data/Oră pentru a funcționa.
- Adăugare - Obligatoriu. Număr, în Unități, pentru a adăuga la DateTime.
- Unități - Opțional. Tipul de Unități la adăugați: TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, T imeUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters, sau TimeUnit.Years. Dacă nu este specificat, sunt folosite TimeUnit.Days .
DateDiff( StartDateTime, EndDateTime [, Unități ] )
- StartDateTime - Obligatoriu. Valoare dată/oră de pornire.
- EndDateTime - Obligatoriu. Valoare dată/oră de sfârșit.
- Unități - Opțional. Tipul de Unități la scade: TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUn it.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters, sau TimeUnit.Years. Dacă nu este specificat, sunt folosite TimeUnit.Days .
TimeZoneOffset( [ DateTime ] )
- DateTime - Opțional. Data/ora pentru care să returneze decalajul. În mod implicit, se folosește data/ora curentă.
Exemple
În toate aceste exemple, să presupunem că data și ora curentă sunt 15 iulie 2013, 13:02.
Simplu DateAdd
| Formulă | Descriere | Rezultat |
|---|---|---|
|
Text( DateAdd( Now(), 3 ), "dd-mm-yyyy hh:mm" ) |
Adaugă trei zile (unități implicite) la data și ora curentă. | "18-07-2013 13:02" |
|
Text( DateAdd( Now(), 4, TimeUnit.Hours ), "dd-mm-yyyy hh:mm" ) |
Adăugați patru ore la data și ora curentă. | "15-07-2013 17:02" |
|
Text( DateAdd( Today(), 1, TimeUnit.Luni ), "dd-mm-yyyy hh:mm" ) |
Adăugă o lună la data curentă, fără oră Astăzi nu returnează o componentă timp. | "15-08-2013 00:00" |
|
Text( DateAdd( Now(), -30, TimeUnit.Minutes ), "dd-mm-yyyy hh:mm" ) |
Reducem 30 de minute de la data și ora curentă. | "15-07-2013 12:32" |
Simplu DateDiff
| Formulă | Descriere | Rezultat |
|---|---|---|
| DateDiff( Now(), DateValue("1.01.2014") ) | Returnează diferența dintre cele două unități în unitățile implicite de TimeUnit.Days | 170 |
| DateDiff( Now(), DateValue("1.01.2014"), TimeUnit.Luni ) | Returnează diferența dintre cele două valori în TimeUnit.Months | 6 |
| DateDiff( Now(), Today(), TimeUnit.Minutes ) | Returnează diferența dintre data/ora curentă și data curentă (fără oră) în câteva minute. Întrucât Acum este mai târziu decât Astăzi rezultatul va fi negativ. | -782 |
Diferența de date cu rezultate fracționate
Funcția DateDiff returnează doar un număr întreg de unități scăzute, iar precizia este dată în unitatea specificată. Pentru a calcula diferența cu o precizie mai mare, utilizați o unitate mai mică și convertiți rezultatul în mod corespunzător, ca în exemplele de mai jos.
| Formulă | Descriere | Rezultat |
|---|---|---|
| DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Hours ) | Minutele/secundele sunt ignorate, diferența se bazează pe timp până la oră. | 1 |
| DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Minutes )/60 | Minutele sunt utilizate în diferență, iar rezultatul este împărțit la 60 pentru a avea diferența în ore. | 0.5 |
| DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Seconds )/3600 | Minutele și secundele sunt utilizate în diferență; rezultatul este împărțit la 3600 pentru a avea diferența în ore. | 0.51 |
Se efectuează conversia la UTC
Pentru a efectua conversia la UTC (Timp universal), adăugați ora TimeZoneOffset dată.
De exemplu, imaginați-vă că data și ora actuală este 15 iulie 2013, 13:02 ora de vară a Pacificului, (PDT, UTC-7). Pentru a determina ora curentă în UTC, utilizați:
- DateAdd( Now(), TimeZoneOffset(), TimeUnit.Minute )
TimeZoneOffset este setată implicit la ora curentă, deci nu trebuie să o transmiteți.
Pentru a vedea rezultatul, utilizați funcția Text cu formatul dd-mm-yyyy hh:mm, care va returna 15-07-2013 20:02.
Convertirea din UTC
Pentru a efectua conversia din UTC, scăpați TimeZoneOffset (adăugând valoarea negativă) pentru timpul dat.
De exemplu, imaginați-vă că data și ora UTC 15 iulie 2013, 20:02 sunt stocate într-o variabilă numită StartTime. Pentru a regla ora pentru fusul orar al utilizatorului, utilizați:
- DateAdd( StartTime, −TimeZoneOffset( StartTime ), TimeUnit.Minutes )
Observați semnul negativ înainte TimeZoneOffset de a scădea decalajul, nu de a-l adăuga.
Pentru a vedea rezultatul, utilizați funcția Text cu formatul dd-mm-yyyy hh:mm, care va avea drept rezultat 15-07-2013 13:02 dacă sunteți la ora de vară a Pacificului.