Hantera datum i Python


Nyckelord: Datum i Python, Datetime, Time, Python

När man programmerar behöver man ofta hantera datum och tid. Det kan vara när eller hur ofta något ska hända i programmet eller att man behöver ha koll på hur lång tid någonting tar. I denna artikel ska vi lära oss om modulen datetime som är en vanliga modu i Python för att hantera datum.

Datum i Python

Det är väldigt vanligt att man behöver hantera datum när man programmerar. Du kanske vill programmera någonting som ska hända en gång varje månad, skriva ut dagens datum eller räkna ut hur lång tid det är mellan två datum. I Python är en av de vanligaste paketen för att hantera datum modulen datetime. Modulen datetime innehåller de mest klassiska tidsrelaterade funktionerna man ofta behöver i ett program.

Paketet datetime i Python

  • Innehåller funktioner för att hantera tid och datum i Python.
  • Gör det enkelt att arbeta med användningsområden som dagens datum, tidshantering, eller tidsåtgång.
  • Är ett inbyggt standardpaket i Python.
  • Innehåller bland annat klasserna datetime, time, date, timedelta som är innehåller flera funktioner som underlättar tidshantering.

Hur skriver man ut nuvarande datum med tid i Python?

Vi kan enkelt skriva ut dagens datum i Python med hjälp av paketet datetime. Eftersom datetime är ett standardpaket i Python kan vi direkt importera paketet med import.

from datetime import datetime

I koden ovan importerar vi klassen datetime från paketet datetime. Vi kommer nu åt alla funktioner som finns inbyggda i klassen datetime. Ett exempel på en inbyggd funktion som finns i klassen datetime är funktionen now() som skriver ut dagens datum.

print(datetime.now())

2021-09-13 18:13:41.463635

Datum och tid i Python

Hur skriver man ut dagens datum i program i Python?

På motsvarande sätt kan vi använda paketet datetime för att skriva ut dagens datum. Dagens datum kan vi enkelt komma åt med klassen date.

from datetime import date

print(date.today())

2021-09-13

Här använder vi klassen date som är inbyggd i datetime för att skriva ut dagens datum med funktionen today().

Timestamp i programmering

I programmering använder man ofta så kallade timestamps för att hantera hur lång tid som har gått från en viss tidspunkt. Ett unix-timestamp är antal sekunder som gått sedan 1970-01-01 00:00:00 (UTC). Varför vill man då använda timestamps? Jo, för tänk dig att du har ett program som folk använder över hela världen. Då kanske du vill att något ska hända exakt vid ett visst klockslag (oavsett var i världen du är). Eftersom klockan i Storbritannien inte är den samma som i Sverige kommer vi få olika beteenden i programmet beroende på var i världen vi befinner oss. Detta vill man ofta undvika i programmering för det blir lätt att fel inträffar om man blandar tid mellan två olika tidszoner. Då är det perfekt med ett timestamp som kommer vara samma oavsett tidzon.

Timestamps i Python

  • Är antal sekunder från 1970-01-01 00:00:00 (UTC)
  • Är användbart när man hanterar tid som inte får vara beroende på olika tidszoner.
  • Undviker fel i program som lätt uppstår pga tid. Tänk dig exempelvis sommar- och vintertid eller olika tidszoner.

Hur skapar man ett timestamp i Python?

Du kan enkelt skapa ett timestamp i Python med hjälp av paketet datetime.

from datetime import datetime
print(datetime.now().timestamp())

Paketet datetime innehåller klassen datetime som innehåller funktionen now(). Vi konverterar sedan tiden till ett timestamp med hjälp av funktionen timestamp().

1631552383.51426

Vanliga frågor och svar om datum i Python

Vad är datetime i Python?

Datetime är ett inbyggt standardpaket i Python som hanterar datum och tid

Vilka klasser innehåller datetime?

De vanligaste klasserna i datetime är datetime, time, deltatime och date.

Vad är ett timestamp?

Ett timestamp (tidsstämpel) syftar oftast inom programmering till ett unix-timestamp det vill säga antal sekunder från 1970-01-01 00:00:00 (UTC)

Lär dig programmera på ProgrammeraPython.se!

Avslutningsvis, hoppas du lärt dig ett och annat om datum och tid i Python. Kommentera gärna vårt forum om det är något du undrar eller saknar!