Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
| Functions | Gäller för |
|---|---|
| DateAdd DateDiff |
|
| TimeZoneOffset |
|
| Funktion | Gäller för |
|---|---|
| DateAdd | |
| DateDiff | |
| TimeZoneOffset |
Lägger till eller hittar skillnaden i datum-/tidsvärden och konverterar mellan lokal tid och UTC.
Beskrivning
Funktionen DateAdd lägger till ett antal enheter till ett datum-/tidsvärde. Resultatet är ett nytt datum-/tidsvärde. Du kan också ta bort ett antal enheter från ett datum-/tidsvärde genom att ange ett negativt värde.
Funktionen DateDiff returnerar skillnaden mellan två datum-/tidsvärden. Resultatet är ett heltal enheter.
För båda funktionerna kan enheterna vara TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters eller TimeUnit.Years. Som standard använder båda funktionerna TimeUnit.Days som enheter.
Funktionen TimeZoneOffset returnerar antalet minuter mellan användarens lokala tid och UTC (Coordinated Universal Time).
Du kan använda DateAdd med TimeZoneOffset för att konvertera mellan användarens lokala tid och UTC (Coordinated Universal Time). Om du lägger till TimeZoneOffset konverteras en lokal tid till UTC, och om du subtraherar den (lägger till det negativa) konverteras från UTC till lokal tid.
Mer information finns även i Datatyperna Date, Time och DateTime och Arbeta med datum och tid.
Syntax
DateAdd( DateTime, Addition [, Units ] )
- DateTime – obligatoriskt. Det Date/Time-värde som ska användas.
- Tillägg - Obligatoriskt. Nummer att lägga till i DateTime i Units.
- Enheter - Valfritt. Typen av Enheter för att lägga till: TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters eller TimeUnit.Years. Om inget annat anges används TimeUnit.Days används.
DateDiff( StartDateTime, EndDateTime [, Enheter ] )
- StartDateTime – Obligatoriskt. Start för datum-/tidsvärden.
- EndDateTime – obligatoriskt. Slut för datum-/tidsvärden.
- Enheter - Valfritt. Typen av Enheter för att subtrahera: TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters eller TimeUnit.Years. Om inget annat anges används TimeUnit.Days används.
TimeZoneOffset( [ DateTime ] )
- DateTime – valfritt. Datum-/tidsvärdet som förskjutningen ska returneras för. Som standard används aktuellt datum/tid.
Exempel
I alla dessa exempel förutsätter vi att det aktuella datumet och tiden är 15 juli 2013, 13:02.
Enkel DateAdd
| Formel | Beskrivning | Resultat |
|---|---|---|
|
Text( DateAdd( Now(), 3 ), "dd-mm-ååååå hh:mm" ) |
Lägger till tre dagar (standardenheter) till aktuellt datum och tid. | "18-07-2013 13:02" |
|
Text( DateAdd( Now(), 4, TimeUnit.Hours ), "dd-mm-ååååå hh:mm" ) |
Lägger till fyra timmar till aktuellt datum och tid. | "15-07-2013 17:02" |
|
Text( DateAdd( Today(), 1, TimeUnit.Months ), "dd-mm-ååååå hh:mm" ) |
Lägger till en månad till aktuellt datum, utan tid eftersom Today inte returnerar en tidskomponent. | "15-08-2013 00:00" |
|
Text( DateAdd( Now(), -30, TimeUnit.Minutes ), "dd-mm-ååååå hh:mm" ) |
Subtraherar 30 minuter från aktuellt datum och tid. | "15-07-2013 12:32" |
Enkel DateDiff
| Formel | Beskrivning | Resultat |
|---|---|---|
| DateDiff( Now(), DateValue("1/1/2014") ) | Returnerar skillnaden mellan de två enheterna i standardenheter för TimeUnit.Days | 170 |
| DateDiff( Now(), DateValue("1/1/2014"), TimeUnit.Months ) | Returnerar skillnaden mellan de två värdena i TimeUnit.Months | 6 |
| DateDiff( Now(), Today(), TimeUnit.Minutes ) | Returnerar skillnaden mellan aktuellt datum och tid och endast aktuellt datum (ingen tid) i minuter. Eftersom Now är senare än Today blir resultatet negativt. | -782 |
Skillnader mellan datum och delat resultat
Funktionen DateDiff returnerar endast ett heltal av de enheter som subtraheras och precisionen anges i den angivna enheten. Om du vill beräkna skillnaden med en högre precision använder du en mindre enhet och konverterar resultatet på lämpligt sätt, som i exemplen nedan.
| Formel | Beskrivning | Resultat |
|---|---|---|
| DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Hours ) | Minuterna/sekunderna ignoreras och skillnaden beror på tiden upp till timmen. | 1 |
| DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Minutes )/60 | Minuterna används i skillnaden och resultatet divideras med 60 för att skillnaden ska vara i timmar. | 0.5 |
| DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Seconds )/3600 | Minuterna och sekunderna används i skillnaden och resultatet divideras med 3600 för att skillnaden ska vara i timmar. | 0.51 |
Konvertera till UTC
Om du vill konvertera till UTC (Coordinated Universal Time) lägger du till TimeZoneOffset för den angivna tiden.
Anta till exempel att aktuellt datum och tid är 15 juli 2013, 13:02 i Pacific, sommartid (PDT, UTC-7). Använd följande för att fastställa den aktuella tiden i UTC:
- DateAdd( Now(), TimeZoneOffset(), TimeUnit.Minutes )
TimeZoneOffset standardvärdet är den aktuella tiden, så du behöver inte skicka ett argument till den.
Visa resultatet genom att använda funktionen Text med formatet dd-mm-yyyy hh:mm, som ger 15-07-2013 20:02.
Konvertera från UTC
Om du vill konvertera från UTC subtraherar TimeZoneOffset du (genom att lägga till det negativa) för den angivna tiden.
Anta till exempel att datum och tid för UTC är 15 juli 2013, 20:02 som är lagrat i variabeln StartTime. Om du vill justera tiden för användarens tidszon använder du:
- DateAdd( StartTime, −TimeZoneOffset( StartTime ), TimeUnit.Minutes )
Observera det negativa tecknet innan TimeZoneOffset för att subtrahera förskjutningen i stället för att lägga till den.
Visa resultatet genom att använda funktionen Text med formatet dd-mm-yyyy hh:mm, som ger 15-07-2013 13:02 om du befinner dig i Pacific, sommartid.