Beräkna en UTC-förskjutning genom att subtrahera UTC-datumet och klockslaget från motsvarande lokala datum och klockslag, och ta hänsyn till eventuella datumändringar. I Numbers på Mac kan du beräkna detta i minuter utan att välja en namngiven tidszon.

Den här guiden är till för dig som jämför en publiceringstidstämpel med dess UTC-motsvarighet. Alla publiceringsdatum nedan är syntetiska. Uppgiften är att ta fram förskjutningen för publiceringsögonblicket och dokumentera vad underlaget stöder.

Vilken information behöver du innan du räknar?

Du behöver två återgivningar av samma publiceringsögonblick: ett fullständigt lokalt datum och klockslag samt ett fullständigt UTC-datum och klockslag. Kontrollera att båda gäller publiceringen, och att det ena inte gäller publiceringen medan det andra avser en senare redigering. Att de hör ihop är en förutsättning; en rimlig numerisk skillnad bevisar inte att de hör samman.

Håll isär de här fyra begreppen:

Begrepp Syntetiskt exempel Vad det visar
Kalenderdatum 2026-07-01 En kalenderdag utan klockslag eller UTC-koppling
Lokalt datum och klockslag 2026-07-01 05:25:00 Kalender- och klockvärden som fortfarande behöver en förskjutning eller tidszon för att identifiera ett ögonblick
Ögonblick 2026-06-30T23:40:00Z Ett visst ögonblick uttryckt i UTC
UTC-förskjutning +05:45 Hur mycket den lokala klockan avviker från UTC vid det ögonblicket
Namngiven tidszon En angiven IANA-tidszonsidentifierare En regeluppsättning för att bestämma förskjutningar vid olika ögonblick

Apple gör en liknande åtskillnad i Foundation: Date representerar en tidpunkt oberoende av kalender eller tidszon, medan DateComponents representerar kalenderfält som tolkas med en kalender och tidszon. En visad datumsträng och en tidpunkt är alltså olika slags indata. Apple: datum och tider

För det här kalkylbladet använder du giltiga gregorianska datum och hela sekunder från 00 till 59. Spara de ursprungliga tidsstämpelsträngarna tillsammans med beräkningarna. Om någon källa bara anger ett datum, eller anger ett klockslag utan datum, ska du inhämta den saknade informationen innan du beräknar en exakt förskjutning.

Hur fungerar beräkningen av förskjutningen?

RFC 3339 definierar teckenkonventionen som lokal tid minus UTC. Ett positivt resultat betyder att den lokala klockan går före; ett negativt resultat betyder att den går efter. Ta fram UTC genom att subtrahera förskjutningen från det lokala datumet och klockslaget. RFC 3339, avsnitt 4.2

För den första syntetiska publiceringen är de parade värdena:

  • UTC: 2026-06-30T23:40:00Z
  • Lokalt: 2026-07-01 05:25:00
  • Skillnad: positiv 5 timmar och 45 minuter
  • Beräknad förskjutning: +05:45

Det lokala datumet är en dag senare. Om du bara räknar på klockslagen får du en missvisande negativ skillnad. En uttrycklig beräkning i minuter visar varför datumet spelar roll:

offset_minutes = 1440 × skillnad_i_kalenderdagar
                 + lokala_klockminuter
                 - UTC_klockminuter

skillnad_i_kalenderdagar = +1
lokala_klockminuter = 5 × 60 + 25 = 325
UTC_klockminuter = 23 × 60 + 40 = 1420

offset_minutes = 1440 + 325 - 1420 = 345
345 minuter = 5 timmar och 45 minuter

Här betyder skillnad i kalenderdagar skillnaden mellan de fullständiga datumen. Subtrahera inte deras dagnummer: den 1 juli minus den 30 juni är en dag, även om 1 - 30 är negativt. Kalkylbladet nedan hanterar månadsskiftet med datumaritmetik.

Hur beräknar du det i Numbers på Mac?

Du behöver Numbers och ett kalkylblad med en tabell. Exemplen använder engelska funktionsnamn och kommatecken som avgränsare. Om formelredigeraren förväntar sig ett annat avgränsningstecken infogar du funktionen via funktionsbläddraren och fyller i argumentfälten.

1. Skapa tydligt märkta kolumner

Använd rad 1 för följande etiketter: UTC-fält i A1, Lokala fält i B1, Förskjutning i minuter i C1 och Återskapat UTC i D1. Etiketterna beskriver dina indata; att ange ett datum i kolumn A utför inte i sig någon tidszonskonvertering.

Markera kolumnerna A och B och använd sedan sidofältet Format, fliken Cell och menyn Dataformat för att välja Datum och tid. Välj visningsformat som visar hela datumet och klockslaget, inklusive sekunder. Apple beskriver de här kontrollerna i sin guide till cellformatering i Numbers.

2. Skapa de två värdena uttryckligen

Klicka på A2 och ange följande formel. Tryck på Retur för att bekräfta den:

=DATE(2026,6,30)+DURATION(0,0,23,40,0,0)

Ange följande i B2:

=DATE(2026,7,1)+DURATION(0,0,5,25,0,0)

DATE tar år, månad och dag som separata tal, så du undviker tvetydiga datumsträngar. DURATION tar veckor, dagar, timmar, minuter, sekunder och millisekunder i den ordningen. Här anger du klockslaget genom att lägga till en varaktighet till respektive datum. Apple: DATE, Apple: DURATION

Kontrollera att A2 visar den 30 juni klockan 23:40:00 och att B2 visar den 1 juli klockan 05:25:00. Du representerar de två uppsättningarna kalenderfält som ska subtraheras. Spara det ursprungliga UTC-suffixet i dina källanteckningar i stället för att förlita dig på hur kalkylbladscellen visas för att identifiera UTC.

3. Subtrahera lokalt minus UTC

Ange följande i C2:

=DUR2MINUTES(B2-A2)

Det förväntade resultatet är 345. Subtraktionen av datum- och tidsvärdena ger en varaktighet, och DUR2MINUTES uttrycker den varaktigheten som ett antal minuter. Ställ in Dataformat för C2 på Tal om det behövs. Apple: DUR2MINUTES

Om du vill ange eller granska en formel markerar du cellen och skriver =; då öppnar Numbers Formelredigerare. Om en formel ger ett fel klickar du på felindikatorn och läser förklaringen innan du fortsätter. Apple: Beräkna värden med data i tabellceller i Numbers på Mac

4. Skriv den signerade förskjutningen och kontrollera resultatet

Omvandla det absoluta antalet minuter till hela timmar och återstående minuter. För 345 blir det 5 timmar och 45 minuter. Eftersom resultatet är positivt anger du +05:45. Ett resultat på -210 skulle bli -03:30; tecknet gäller hela förskjutningen.

Ange den omvända beräkningen i D2:

=B2-DURATION(0,0,0,C2,0,0)

Formatera D2 som Datum och tid så att båda komponenterna visas. Cellen bör visa samma datum och klockslag som A2. Detta kontrollerar räkneriktningen och återskapandet. Det bevisar inte oberoende att de ursprungliga indata avser samma publicering.

Vilka exempel avslöjar misstag med datum och tecken?

Använd de här syntetiska paren för att kontrollera din tolkning. För varje ytterligare rad skapar du A och B med DATE plus DURATION och använder sedan cellreferenserna för den raden i subtraktionen.

UTC-tidsstämpel för publicering Motsvarande lokala fält Förskjutning i minuter Förskjutning
2026-06-30T23:40:00Z 2026-07-01 05:25:00 345 +05:45
2026-07-01T02:15:00Z 2026-06-30 22:45:00 -210 -03:30
2026-08-31T23:30:00Z 2026-09-01 01:30:00 120 +02:00

Det andra paret går bakåt över till föregående lokala datum. Det tredje passerar ett månadsskifte med en förskjutning på hela timmar. Tillsammans hjälper de dig att upptäcka om subtraktionen har vänts, datum har utelämnats eller du har antagit att förskjutningar bara kan bestå av hela timmar.

Visa tillräckligt många decimaler för att upptäcka ett resultat med delar av en minut. Med dessa indata i hela sekunder bör en oväntad decimal undersökas: kontrollera sekunderna, indataprecisionen och om posterna verkligen hör ihop. Avrunda inte bort decimalen bara för att få en välbekant förskjutning. Numeriska RFC 3339-förskjutningar har minutprecision, så en avvikelse som innehåller sekunder kan inte återges korrekt genom att bara lägga till en förskjutning i formatet HH:MM. RFC 3339, avsnitt 4.2

Varför kan du inte härleda en entydig namngiven tidszon?

En förskjutning beskriver relationen vid ett visst ögonblick. En namngiven tidszon innehåller regler för att bestämma den relationen vid andra ögonblick. RFC 9557 skiljer uttryckligen mellan dessa begrepp och förklarar varför en förskjutning ensam inte räcker för lokala kalenderberäkningar, till exempel för att hitta samma lokala klockslag nästa dag. En matchande förskjutning fastställer därför inte en entydig namngiven tidszon. RFC 9557: Definition av tidszon

Dokumentera resultatet som ”Beräknad publiceringsförskjutning: +05:45; namngiven tidszon: okänd.” Om du senare får en tidszonsidentifierare från källan ska du spara den separat. Fler parade publiceringar kan visa ytterligare förskjutningar, men det krävs annat underlag än en matchande post för att välja en tidszon.

Apples API:er använder samma beräkningsriktning. TimeZone.secondsFromGMT(for:) tar en befintlig tidszon och ett datum för att beräkna förskjutningen. Datumargumentet är som standard dagens datum, så du måste ange publiceringsögonblicket när du kontrollerar en publicering. Metoden tar inte emot en förskjutning och returnerar den ursprungliga namngivna tidszonen. Apple: secondsFromGMT(for:)

När bör du sluta och skaffa bättre indata?

Följ den här beslutsordningen innan du godkänner resultatet:

  1. Bara kalenderdatum finns tillgängliga: skaffa klockslag och en UTC-referens. Ett datum räcker inte för att identifiera ett ögonblick.
  2. Referensen har en numerisk förskjutning som inte är noll: omvandla den till UTC med den angivna förskjutningen innan du använder det här kalkylbladet.
  3. Båda indata har redan omvandlats till tidpunkter: spara eller hämta de ursprungliga lokala fälten. Om du subtraherar två återgivningar av samma ögonblick efter normalisering får du noll.
  4. Skillnaden ändras när datum visas: granska de fullständiga lagrade värdena. Ett dolt datum ingår fortfarande i beräkningen.
  5. Beräkningen fungerar, men kopplingen är osäker: behåll resultatet som en möjlig skillnad tills sambandet med publiceringen har bekräftats.

Numbers kan automatiskt fylla i saknade komponenter: Apple anger att om du bara matar in en tid läggs dagens datum till. Om du döljer ett datum eller klockslag ändras visningen, men värdet kan fortfarande användas i beräkningar. Granska Smart Cell View om något är oklart i den synliga cellen. Apple: Formatera datum, valuta och mer i Numbers på Mac

En UTC-tidsstämpel som slutar med Z fastställer också UTC-ögonblicket utan att fastställa den ursprungliga lokala tidszonen. RFC 9557 uppdaterar RFC 3339:s hantering av Z så att en okänd lokal förskjutning kan anges. Därför är den separata lokala återgivningen nödvändig för den här beräkningen. RFC 9557, avsnitt 2.2

För en slutförd kontroll av en publicering sparar du det ursprungliga paret, den signerade förskjutningen och skälet till att de två värdena representerar samma ögonblick. Då får du ett reproducerbart resultat, samtidigt som den namngivna tidszonen förblir okänd om underlaget inte identifierar någon.

Källor