Daniel Nylander
po@danielnylander.se 2006, 2007, 2008, 2009
Josef Andersson
josef.andersson@fripost.org 2015
Anders Jonsson
anders.jonsson@norsjovallen.se 2016, 2017, 2020, 2022, 2023, 2024

# Datum/tid-formatkoder

Det här är en sammanställning av standardkoder för datum och tid som kan användas i formatsträngar:

# Giltiga format för anpassade undermappar

%a | Förkortade veckodagsnamnet enligt den aktuella lokalen.
%A | Fullständiga veckodagsnamnet enligt den aktuella lokalen.
%b | Förkortade månadsnamnet enligt den aktuella lokalen.
%B | Fullständiga månadsnamnet enligt den aktuella lokalen.
%c | Föredragna datum och tidsrepresentationen enligt den aktuella lokalen.
%C | Århundradesiffran (år/100) som ett tvåsiffrigt heltal.
%d | Dag i månaden som ett decimalnummer (01 till 31).
%D | Samma som %m/%d/%y. (Usch -- endast för amerikaner. Amerikaner bör tänka på att i andra länder är %d/%m/%y vanligt. Det betyder att i internationella sammanhang är detta format tvetydigt och bör inte användas.)
%e | Som %d, dagen i månaden som ett decimaltal, men inledande nolla är ersatt med blanksteg.
%E | Modifierare: använd alternativt format, se nedan.
%F | Likvärdigt med %Y-%m-%d (datumformatet ISO 8601). (C99)
%G | ISO 8601-år med sekel som ett decimaltal. Det fyrsiffriga året svarar mot ISO-veckonumret (se %V). Detta har samma format och värde som %y, förutom att om ISO-veckonumret tillhör föregående eller nästa år används det året istället.
%g | Som %G men utan sekel, d.v.s. med ett tvåsiffrigt år (00-99).
%h | Likvärdigt med %b.
%H | Timmen som ett decimaltal i 24-timmarsklocka (00 till 23).
%I | Timmen som ett decimaltal i 12-timmarsklocka (01 till 12).
%j | Dagen på året som ett decimaltal (001 till 366).
%k | Timmen (24-timmars klocka) som ett decimaltal (0 till 23); enskilda siffror startar med blanksteg. (Se också %H.)
%l | Timmen (12-timmars klocka) som ett decimaltal (1 till 12); enskilda siffror startar med blanksteg. (Se också %I.)
%m | Månaden som ett decimaltal (01 till 12).
%M | Minuten som ett decimaltal (00 till 59).
%O | Modifierare: använd alternativt format, se nedan.
%p | Antingen ”AM” eller ”PM” utefter det givna tidsvärdet eller motsvarande strängar för den aktuella lokalen. Middagstid behandlas som ”pm” och midnatt som ”am”.
%P | Som %p med gemener: ”am”, ”pm” eller motsvarande sträng för den aktuella lokalen.
%r | Tid i a.m.- eller p.m.-notation. I POSIX-lokal är detta motsvarande ”%I:%M:%S %p”.
%R | Tid i 24-timmars notation (%H:%M). För en version med sekunder, se %T nedan.
%s | Antal sekunder sedan Epoch, d.v.s. sedan 1970-01-01 00:00:00 UTC.
%S | Sekunder som decimaltal (00 till 60). (Intervallet är upp till 60 för att tillåta skottsekunder.)
%T | Tiden i 24-timmarsnotation (%H:%M:%S).
%u | Veckodagen som ett decimaltal, intervall 1 till 7, där måndag är 1. Se också %w.
%U | Veckonumret för aktuellt år som ett decimaltal, intervall 00 till 53, startar med första söndagen som första dagen vecka 01. Se också %V och %W.
%V | ISO 8601:1988-veckonumret för aktuellt år som ett decimaltal, intervall 01 till 53 där vecka 1 är den första veckan som har minst fyra dagar nuvarande år, och med måndag som den första veckodagen. Se också %U och %W.
%w | Veckodagen som ett decimaltal, intervall 0 till 6, söndag är 0. Se också %u.
%W | Veckonumret för nuvarande år som ett decimaltal, intervall 00 till 53, med början den första måndagen som den första dagen vecka 01.
%x | Föredragen datumrepresentation för den aktuella lokalen utan tiden.
%X | Föredragen tidsrepresentation för den aktuella lokalen utan datumet.
%y | Året som ett decimalnummer utan sekel (intervall 00 till 99).
%Y | Året som ett decimalnummer inklusive seklet.
%z | Tidszonen som timförskjutning från GMT. Krävs för att sända RFC 822-anpassade datum (använder "%a, %d %b %Y %H:%M:%S %z").
%Z | Tidszon, namn eller förkortning.

En del konverteringsspecifikationer kan modifieras genom att före konverteringens specificerartecken lägga till E eller O-modifierarna för att indikera att ett alternativt format ska användas. Om det alternativa formatet eller specifikationen inte används för aktuell lokal kommer beteendet att vara som om ej modifierande specificerartecken användes. Single Unix-specifikationen nämner %Ec, %EC, %Ex, %EX, %Ey, %EY, %Od, %Oe, %OH, %OI, %Om, %OM, %OS, %Ou, %OU, %OV, %Ow, %OW, %Oy där effekten av O-modifieraren är för att använda alternativa numeriska symboler (exempelvis romerska siffror) och från E-modifieraren är att använda en lokalberoende alternativ representation.