# Kaip konvertuoti eilutę į datetime Python kalboje

Datetime objektai leidžia atlikti paprastus laiko skaičiavimus, įskaitant intervalų pridėjimą ar atėmimą. **Styginių konvertavimas į datetime objektus** yra būtinas norint tiksliai organizuoti, analizuoti ir rodyti laiko duomenis Python kalboje.

## Kaip Python kalboje veikia stygų konvertavimas į datetime?

Python stygos konvertavimas į datetime reiškia teksto stygos, kurioje yra data ir (arba) laikas, transformavimą į datetime objektą. Datetime yra Python duomenų struktūra, skirta tvarkyti ir koreguoti **datos ir laiko informaciją**. Stygų konvertavimas į datetime dažnai reikalingas, norint tvarkyti datos ir laiko duomenis, kurie pateikiami stygos formatu.

Duomenys konvertuojami į **formatą, kuris gali būti naudojamas** skaičiavimams atlikti, datų palyginimams atlikti ar laiko informacijai formatuoti, be kitų dalykų. Metodai, skirti išraiškoms sujungti naudojant Python stygos formatą, taip pat gali būti naudingi tvarkant datetime objektus.

## Kaip konvertuoti eilutes į datetime objektus Python kalboje

Yra įvairių funkcijų ir modulių, pvz., `datetime` biblioteka ir `strptime()` metodas, kuriuos galite naudoti norėdami konvertuoti eilutes į datetime objektus ir atvirkščiai.

### `strptime()`

`datetime` bibliotekos `strptime()` (string parse time) metodas naudojamas konvertuoti eilutę į Python datetime objektą. Reikalingi **du argumentai**: analizuotina eilutė ir eilutės datos/laiko formatas.

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

### `datetime.datetime()`

Naudojant `strptime()` metodą, eilutė gali būti konvertuojama į `datetime.datetime` objektą, atsižvelgiant į konkretų datos/laiko formatą.

```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
```

Šiame pavyzdyje `date_string` yra nurodytas kaip `'2023-10-30 12:00:00'`, o formatas `'%Y-%m-%d %H:%M:%S'` apibrėžia tvarką ir tai, kaip data ir laikas turėtų būti rodomi eilutėje. `strptime()` metodas interpretuoja eilutę pagal šį formatą ir sukuria `datetime.datetime` objektą, kuris vėliau yra saugomas `date_object` kintamajame.

Štai ką reiškia `'%Y-%m-%d %H:%M:%S'`:

- **`%Y`**: Keturių skaitmenų metai
- **`%m`**: Dviejų skaitmenų mėnuo
- **`%d`**: Dviejų skaitmenų diena
- **`%H`**: Valanda (24 valandų formatas)
- **`%M`**: Minutės
- **`%S`**: Sekundės

### `datetime.time()`

Konvertuodami eilutes į `datetime.time` objektą, galite pateikti **laiką be datos**. Tai galima padaryti naudojant `strptime()` metodą iš `datetime` klasės arba padalijant laiko eilutę į valandas, minutes ir sekundes.

```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'` reiškia valandos:minutės:sekundės formatą. `strptime()` metodas interpretuoja laiko eilutę pagal šį formatą ir sukuria `datetime.time` objektą.

### `datetime.date()`

Arba galite paversti eilutę į `datetime.date` objektą naudodami `strptime()` metodą iš `datetime` klasės arba rankiniu būdu padalindami datos eilutę į metų, mėnesių ir dienų komponentus.

```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'` yra metų-mėnesio-dienos formatas. `strptime()` metodas analizuoja datos eilutę ir sukuria `datetime.date` objektą.

## Kaip išspręsti `strptime()` klaidas

Naudodami `strptime()` metodą, skirtą konvertuoti eilutes į datetime objektus Python kalboje, galite susidurti su klaidomis, ypač jei nurodytas formatas neatitinka įvesties eilutės formato. Čia pateikiami keli dažniausiai pasitaikantys klaidų pavyzdžiai ir jų sprendimo būdai:

- **`ValueError: time data '...' does not match format '...'`**: Ši klaida atsiranda, jei įvesties eilutė neatitinka nurodyto formato. Įsitikinkite, kad `strptime()` buvo naudojamas teisingas formato šablonas.
- **`ValueError: unconverted data remains`**: Ši klaida rodomas, jei po eilutės apdorojimo lieka neinterpretuoti duomenys. Įsitikinkite, kad formato šablonas apima visas įvesties eilutės dalis.
- **`TypeError: strptime() argument 1 must be str, not ...`**: Tai gali atsitikti, jei parametras, perduotas `strptime()`, nėra eilutė. Įsitikinkite, kad pateikta reikšmė yra eilutė, kurioje yra datos/laiko formatas.

Turėtumėte užtikrinti, kad formato šablonas teisingai interpretuotų visas įvesties eilutės dalis (metus, mėnesį, dieną, laiką ir pan.). Taip pat svarbu atsižvelgti į galimus skirtumus tarp formato šablono ir įvesties eilutės atskyriklių, didžiųjų raidžių ir kitų detalių.


This is a markdown version of: [https://www.ionos.com/lt-lt/digitalguide/interneto-svetaines/interneto-svetainiu-kurimas/konvertuoti-eilutes-i-datetime-python-kalba/](https://www.ionos.com/lt-lt/digitalguide/interneto-svetaines/interneto-svetainiu-kurimas/konvertuoti-eilutes-i-datetime-python-kalba/) for AI/LLM consumption.