Pastaba.
Prieigai prie šio puslapio reikalingas įgaliojimas. Galite bandyti prisijungti arba pakeisti katalogus.
Prieigai prie šio puslapio reikalingas įgaliojimas. Galite bandyti pakeisti katalogus.
| Funkcijos | Taikoma (kam) |
|---|---|
| DateAdd DateDiff |
|
| TimeZoneOffset |
|
| Funkcija | Taikoma (kam) |
|---|---|
| DateAdd | |
| DateDiff | |
| TimeZoneOffset |
Prideda prie skirtumo tarp datos / laiko reikšmių arba jį randa bei reikšmes konvertuoja tarp vietinio laiko ir UTC.
Aprašas
Funkcija DateAdd prideda vienetų skaičių prie datos / laiko reikšmės. Rezultatas yra nauja datos / laiko reikšmė. Taip pat galite iš datos / laiko reikšmės kokį nors vienetų skaičių atimti, nurodydami neigiamą reikšmę.
Funkcija DateDiff grąžina dviejų datos / laiko reikšmių skirtumą. Rezultatas yra sveikasis vienetų skaičius.
Abiejų funkcijų vienetai gali būti TimeUnit.Milliseconds,TimeUnit.Seconds,TimeUnit.Minutes,TimeUnit.Hours,TimeUnit.Days,TimeUnit.Months,TimeUnit.Quarters arba TimeUnit.Years. Pagal numatytuosius nustatymus abi funkcijos naudoja TimeUnit.Days kaip vienetus.
Funkcija TimeZoneOffset pateikia minučių skaičių tarp vartotojo vietos laiko ir UTC (universaliojo laiko).
Galite naudoti DateAdd su TimeZoneOffset norėdami konvertuoti tarp vartotojo vietos laiko ir UTC (universaliojo laiko). Įtraukus TimeZoneOffset , vietinis laikas bus konvertuota į UTC, o atimant (pridedant neigiamą) bus konvertuota iš UTC į vietinį laiką.
Be to, daugiau informacijos ieškokite duomenų tipai Data, Laikas ir DateTime ir darbas su datomis ir laikais .
Sintaksė
DateAdd( DateTime, Addition [, Units ] )
- DateTime - būtina. Datos / laiko reikšmė, su kuria reikia atlikti operacijas.
- papildymas - būtinas. Skaičius vienetais (Units), pridėtinas prie DateTime.
- Vienetai - neprivaloma. Vienetų, kuriuos reikia pridėti, tipas: TimeUnit.Milliseconds,TimeUnit.Seconds,TimeUnit.Minutes,TimeUnit.Hours,TimeUnit.Days,TimeUnit.Months,TimeUnit.Quarters arbaTimeUnit.Years. Jei nenurodyta,Naudojamas TimeUnit.Days .
DateDiff( StartDateTime, EndDateTime [, Vienetai ] )
- StartDateTime - būtina. Pradinė datos / laiko reikšmė.
- EndDateTime - būtina. Galutinė datos / laiko reikšmė.
- Vienetai - neprivaloma. Vienetų, kuriuos reikia atimti, tipas: TimeUnit.Milliseconds,TimeUnit.Seconds,TimeUnit.Minutes,TimeUnit.Hours,TimeUnit.Days,TimeUnit.Months,TimeUnit.Quarters arbaTimeUnit.Years. Jei nenurodyta,Naudojamas TimeUnit.Days .
TimeZoneOffset( [ DateTime ] )
- DateTime - Pasirinktinai. Datos / laiko reikšmė, kurios skirtumą reikia pateikti. Numatyta, kad naudojami dabartiniai data / laikas.
Pavyzdžiai
Laikykite, kad visuose šiuose pavyzdžiuose dabartiniai data ir laikas yra 2013 m. liepos 15 d., 13.02 val.
Paprastas DateAdd
| Formulė | Aprašas | Rezultatas |
|---|---|---|
|
Text( DateAdd( Now(), 3 ), "dd-mm-yyyy hh:mm" ) |
Prie dabartinių datos ir laiko pridedamos trys dienos (numatytieji vienetai). | „18-07-2013 13:02“ |
|
Text( DateAdd( Now(), 4, TimeUnit.Hours ), "dd-mm-yyyy hh:mm" ) |
Prie dabartinių datos ir laiko pridedamos keturios valandos. | „15-07-2013 17:02“ |
|
Text( DateAdd( Today(), 1, Timeunit.Months ), "dd-mm-yyyy hh:mm" ) |
Prie dabartinės datos pridedamas vienas mėnuo be laiko, nes Today laiko komponento nepateikia. | „15-08-2013 00:00“ |
|
Text( DateAdd( Now(), -30, TimeUnit.Minutes ), "dd-mm-yyyy hh:mm" ) |
Iš dabartinių datos ir laiko atimama 30 minučių. | „15-07-2013 12:32“ |
Paprastas DateDiff
| Formulė | Aprašas | Rezultatas |
|---|---|---|
| DateDiff( Now(), DateValue("2014-01-01") ) | Grąžina skirtumą tarp dviejų vienetų, esančių numatytuosiuose TimeUnit.Days vienetuose | 170 |
| DateDiff( Now(), DateValue("2014-01-01"), TimeUnit.Months ) | Grąžina skirtumą tarp dviejų reikšmių, esančių TimeUnit.Months | 6 |
| DateDiff( Now(), Today(), TimeUnit.Minutes ) | Pateikia skirtumą tarp dabartinės datos / laiko ir tik dabartinės datos (be laiko) minutėmis. Kadangi Now yra vėliau nei Today, rezultatas bus neigiamas. | -782 |
Datų skirtumas su daliniais rezultatais
Funkcija DateDiff grąžina tik sveikąjį atimamų vienetų skaičių, o tikslumas nurodomas nurodytu vienetu. Norėdami kuo tiksliau apskaičiuoti skirtumą, naudokite mažesnius vienetus ir tinkamai konvertuokite rezultatą, kaip nurodyta toliau pavyzdžiuose.
| Formulė | Aprašas | Rezultatas |
|---|---|---|
| DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Hours ) | Minučių / sekundžių nepaisoma, skirtumas priklauso nuo laiko iki valandos. | 1 |
| DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Minutes )/60 | Minutėmis naudojamas skirtumas, o rezultatas padalytas iš 60, kad būtų skirtumas tarp valandų. | 0.5 |
| DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Seconds )/3600 | Minutėmis naudojamas skirtumas, o rezultatas padalytas iš 3600, kad būtų skirtumas tarp valandų. | 0.51 |
Konvertavimas į UTC
Norėdami konvertuoti į UTC (universalųjį laiką), įtraukite TimeZoneOffset nurodytą laiką.
Pavyzdžiui, įsivaizduokite, kad dabartiniai data ir laikas Ramiojo vandenyno vasaros laiku (PDT, UTC–7) yra 2013 m. liepos 15 d., 13.02 val. Norėdami nustatyti dabartinį UTC laiką, naudokite:
- DateAdd( Now(), TimeZoneOffset(), TimeUnit.Minutes )
TimeZoneOffset numatytoji reikšmė yra dabartinis laikas, todėl jums nereikia jo perduoti argumento.
Norėdami matyti rezultatą, naudokite funkciją Text ir formatą dd-mm-yyyy hh:mm – bus pateikta 15-07-2013 20:02.
Konvertavimas iš UTC
Norėdami konvertuoti iš UTC, atimkite TimeZoneOffset (pridėdami neigiamą) tam tikrą laiką.
Pavyzdžiui, įsivaizduokite, kad UTC data ir laikas 2013 m. liepos 15 d., 20.02 val. saugomi kintamajame pavadinimu StartTime. Norėdami koreguoti vartotojo laiko juostos laiką, naudokite:
- DateAdd( Pradžios laikas, −TimeZoneOffset( StartTime ), TimeUnit.Minutes )
Atkreipkite dėmesį į neigiamą ženklą prieš TimeZoneOffset atimdami poslinkį, o ne jį įtraukite.
Norėdami matyti rezultatą, naudokite funkciją Text ir formatą dd-mm-yyyy hh:mm – bus pateikta 15-07-2013 13:02 (jei gyvenate Ramiojo vandenyno vasaros laiku).