# Hvordan konvertere en streng til dato og klokkeslett i Python

Datetime-objekter gjør det mulig å utføre enkle tidsberegninger, inkludert å legge til eller trekke fra intervaller. **Konvertering av strenger til datetime-objekter** er avgjørende for å organisere, analysere og vise tidsdata nøyaktig i Python.

## Hvordan fungerer konvertering av strenger til dato og klokkeslett i Python?

Konvertering av en Python-streng til datetime innebærer å transformere en tekststreng, som inneholder en dato og/eller tid, til et datetime-objekt. Datetime er en Python-datastruktur som er utviklet for å håndtere og justere **dato- og tidsinformasjon**. Konvertering av strenger til datetime er ofte nødvendig for å håndtere dato- og tidsdata som vises i strengformat.

Dataene konverteres til et **format som kan brukes** til **å** utføre beregninger, sammenligne datoer eller formatere tidsinformasjon, blant annet. Metoder for å sammenføye uttrykk ved hjelp av Python-strengformat kan også være nyttige når du håndterer datetime-objekter.

## Hvordan konvertere strenger til datetime-objekter i Python

Det finnes ulike funksjoner og moduler, for eksempel `datetime` og `strptime()`, som du kan bruke til å konvertere strenger til datetime-objekter og omvendt.

### `strptime()`

Metoden `strptime()` (string parse time) fra biblioteket `datetime` brukes til å konvertere en streng til et Python datetime-objekt. **To argumenter** er nødvendige: strengen som skal parses og dato-/tidsformatet til strengen.

```python
datetime.strptime(date_string, format)
```

### `datetime.datetime()`

Med metoden `strptime()` kan en streng konverteres til et objekt `datetime.datetime`, med hensyn til et spesifikt dato-/tidsformat.

```python
from datetime import datetime
date_string = '2023-10-30 12:00:00'
date_object = datetime.strptime(date_string, '%Y-%m-%d %H:%M:%S')
print(date_object) # Output: 2023-10-30 12:00:00
```

I dette eksemplet er `date_string` angitt som `'2023-10-30 12:00:00'`, og formatet `'%Y-%m-%d %H:%M:%S'` definerer rekkefølgen og hvordan dato og klokkeslett skal vises i strengen. Metoden `strptime()` tolker strengen basert på dette formatet og genererer et `datetime.datetime`, som deretter lagres i variabelen `date_object`.

Her er hva `'%Y-%m-%d %H:%M:%S'` betyr:

- **`%Y`**: Fire-sifret årstall
- **`%m`**: To-sifret måned
- **`%d`**: Tosifret dag
- **`%H`**: Time (24-timersformat)
- **`%M`**: Minutter
- **`%S`**: Sekunder

### `datetime.time()`

Ved å konvertere strenger til et `datetime.time` kan du representere **klokkeslett uten dato**. Dette kan gjøres ved hjelp av `strptime()` fra `datetime`, eller ved å dele en tidsstreng inn i timer, minutter og sekunder.

```python
from datetime import datetime
time_string = '14::30::00'
time_object = datetime.strptime(time_string, '%H::%M::%S').time()
print(time_object) # Output: 14:30:00
```

`'%H:%M:%S'` står for formatet timer:minutter:sekunder. Metoden `strptime()` tolker tidsstrengen i henhold til dette formatet og oppretter et `datetime.time` -objekt.

### `datetime.date()`

Alternativt kan du omforme en streng til et `datetime.date` objekt ved å bruke `strptime()` fra `datetime`, eller ved å manuelt dele datostrengen inn i år, måned og dag.

```python
from datetime import datetime
date_string = '2023-11-30'
date_object = datetime.strptime(date_string, '%Y-%m-%d').date()
print(date_object) # Output: 2023-11-30
```

`'%Y-%m-%d'` er formatet år-måned-dag. Metoden `strptime()` analyserer datostrengen og oppretter et `datetime.date` -objekt.

## Hvordan feilsøke `strptime()` feil

Når du bruker `strptime()` for å konvertere strenger til datetime-objekter i Python, kan du støte på feil, spesielt hvis det angitte formatet ikke samsvarer med formatet på inndatastrengen. Her er noen vanlige feil og måter å løse dem på:

- **`ValueError: time data '...' does not match format '...'`**: Denne feilen oppstår hvis inndatastrengen ikke samsvarer med det angitte formatet. Kontroller at riktig formatmønster ble brukt i `strptime()`.
- **`ValueError: unconverted data remains`**: Denne feilen vises hvis det gjenstår ufortolkede data etter at strengen er behandlet. Kontroller at formatmønsteret dekker alle deler av inndatastrengen.
- **`TypeError: strptime() argument 1 must be str, not ...`**: Dette kan skje hvis parameteren som sendes til `strptime()` ikke er en streng. Kontroller at den angitte verdien er en streng som inkluderer dato-/tidsformatet.

Du bør sørge for at formatmønsteret tolker alle deler av inndatastrengen (år, måned, dag, klokkeslett osv.) riktig. Det er også viktig å ta hensyn til mulige forskjeller i skilletegn, store bokstaver og andre detaljer mellom formatmønsteret og inndatastrengen.


This is a markdown version of: [https://www.ionos.com/nb-no/digitalguide/nettsteder/webutvikling/konverter-strenger-til-dato-og-klokkeslett-i-python/](https://www.ionos.com/nb-no/digitalguide/nettsteder/webutvikling/konverter-strenger-til-dato-og-klokkeslett-i-python/) for AI/LLM consumption.