Python, tarih ve zamanlarla çalışmak için güçlü araçlar sunar. Genellikle, daha kolay manipülasyon ve analiz için tarih ve zaman dizelerini datetime
nesnelerine dönüştürmeniz gerekir. Bu makale, esnekliğe ve hata yönetimine odaklanarak bu dönüşümü gerçekleştirmenin farklı yöntemlerini ele almaktadır.
İçerik Tablosu
datetime.strptime()
Kullanımı- Alternatif Dönüştürme Yöntemleri
- Sağlam Hata Yönetimi
- Çeşitli Tarih ve Zaman Biçimlerinin İşlenmesi
datetime.strptime()
Kullanımı
datetime.strptime()
fonksiyonu, dizeyi datetime
‘a dönüştürmek için yaygın bir seçimdir. İki argüman alır:
date_string
: Tarih ve/veya zaman bilgisini içeren dize.format
: Tarih ve zamanındate_string
‘de nasıl gösterildiğini belirten bir biçim dizesi.
Biçim dizesi, tarih ve zamanın farklı bölümlerini temsil etmek için direktifler kullanır. İşte bazı önemli direktifler:
Direktif | Anlamı | Örnek |
---|---|---|
%Y |
Yüzyılı içeren yıl | 2024 |
%y |
Yüzyılı içermeyen yıl | 24 |
%m |
Ay (01-12) | 03 |
%d |
Ayın günü (01-31) | 15 |
%H |
Saat (24 saatlik saat, 00-23) | 14 |
%I |
Saat (12 saatlik saat, 01-12) | 02 |
%p |
AM/PM | PM |
%M |
Dakika (00-59) | 30 |
%S |
Saniye (00-59) | 00 |
%f |
Mikrosaniye (000000-999999) | 123456 |
%A |
Haftanın günü (tam) | Pazartesi |
%a |
Haftanın günü (kısaltılmış) | Paz |
%B |
Ayın adı (tam) | Mart |
%b |
Ayın adı (kısaltılmış) | Mar |
Biçim dizesindeki direktiflerin sırası, mutlaka tarih dizesindeki sırayla eşleşmelidir.
from datetime import datetime
date_string = "2024-03-15 14:30:00"
format = "%Y-%m-%d %H:%M:%S"
datetime_object = datetime.strptime(date_string, format)
print(datetime_object) # Çıktı: 2024-03-15 14:30:00
Alternatif Dönüştürme Yöntemleri
Daha karmaşık veya standart olmayan tarih biçimleri için dateutil
gibi kütüphaneleri kullanmayı düşünün:
from dateutil import parser
date_string = "15 Mart 2024 14:30"
datetime_object = parser.parse(date_string)
print(datetime_object)
Sağlam Hata Yönetimi
Olası ValueError
istisnalarını işlemek için strptime
‘ı her zaman bir try-except
bloğuna sarın:
try:
datetime_object = datetime.strptime(date_string, format)
except ValueError as e:
print(f"Tarih dizesinin dönüştürülmesinde hata: {e}")
Çeşitli Tarih ve Zaman Biçimlerinin İşlenmesi
Değişken giriş biçimleri için, strptime
veya dateutil.parser
uygulamadan önce tarih bileşenlerini çıkarmak için dizeyi önceden işlemeniz veya düzenli ifadeler kullanmanız gerekebilir.