Bu makalede, bir dizeden bir datetime nesnesi oluşturmayı öğreneceksiniz (örnekler yardımıyla).
strptime()
Yöntem, belirli bir dizeye bir datetime nesnesi oluşturur.
Not:datetime
Her dizeden nesne oluşturamazsınız . Dizenin belirli bir biçimde olması gerekir.
Örnek 1: datetime nesnesine dizge
from datetime import datetime date_string = "21 June, 2018" print("date_string =", date_string) print("type of date_string =", type(date_string)) date_object = datetime.strptime(date_string, "%d %B, %Y") print("date_object =", date_object) print("type of date_object =", type(date_object))
Programı çalıştırdığınızda, çıktı:
date_string = 21 Haziran, 2018 date_string türü = date_object = 2018-06-21 00:00:00 tarih_nesnesi türü =
Strptime () nasıl çalışır?
strptime()
Sınıf yöntemi iki argüman alır:
- dize (tarih saatine dönüştürülecek)
- biçim kodu
Kullanılan dize ve biçim koduna bağlı olarak, yöntem eşdeğer datetime
nesnesini döndürür .
Yukarıdaki örnekte:
Buraya,
%d
- Ayın gününü temsil eder. Örnek: 01, 02,…, 31%B
- Ayın tam adı. Örnek: Ocak, Şubat vb.%Y
- Dört basamaklı yıl. Örnek: 2018, 2019 vb.
Örnek 2: datetime nesnesine dizge
from datetime import datetime dt_string = "12/11/2018 09:15:32" # Considering date is in dd/mm/yyyy format dt_object1 = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S") print("dt_object1 =", dt_object1) # Considering date is in mm/dd/yyyy format dt_object2 = datetime.strptime(dt_string, "%m/%d/%Y %H:%M:%S") print("dt_object2 =", dt_object2)
Programı çalıştırdığınızda, çıktı:
dt_object1 = 2018-11-12 09:15:32 dt_object2 = 2018-12-11 09:15:32
Kod Listesini Biçimlendir
Aşağıdaki tablo, kullanabileceğiniz tüm biçim kodlarını göstermektedir.
Direktif | Anlam | Misal |
%a | Kısaltılmış hafta içi adı. | Paz, Pzt,… |
%A | Tam gün adı. | Pazar Pazartesi,… |
%w | Ondalık sayı olarak hafta içi. | 0, 1,…, 6 |
%d | Sıfır ile doldurulmuş ondalık sayı olarak ayın günü. | 01, 02,…, 31 |
%-d | Ondalık sayı olarak ayın günü. | 1, 2,…, 30 |
%b | Kısaltılmış ay adı. | Oca, Şub,…, Ara |
%B | Tam ay adı. | Ocak Şubat,… |
%m | Sıfır ile doldurulmuş ondalık sayı olarak ay. | 01, 02,…, 12 |
%-m | Ondalık sayı olarak ay. | 1, 2,…, 12 |
%y | Sıfır ile doldurulmuş ondalık sayı olarak yüzyılı olmayan yıl. | 00, 01,…, 99 |
%-y | Ondalık sayı olarak yüzyılı olmayan yıl. | 0, 1,…, 99 |
%Y | Ondalık sayı olarak yüzyıl ile yıl. | 2013, 2019 vb. |
%H | Sıfırla doldurulmuş ondalık sayı olarak saat (24 saatlik zaman biçimi). | 00, 01,…, 23 |
%-H | Ondalık sayı olarak saat (24 saatlik zaman biçimi). | 0, 1,…, 23 |
%I | Sıfır ile doldurulmuş ondalık sayı olarak saat (12 saatlik zaman biçimi). | 01, 02,…, 12 |
%-I | Ondalık sayı olarak saat (12 saatlik zaman). | 1, 2,… 12 |
%p | Yerel ayar AM veya PM. | AM, PM |
%M | Sıfır ile doldurulmuş ondalık sayı olarak dakika. | 00, 01,…, 59 |
%-M | Ondalık sayı olarak dakika. | 0, 1,…, 59 |
%S | Sıfırla doldurulmuş ondalık sayı olarak ikinci. | 00, 01,…, 59 |
%-S | Ondalık sayı olarak ikinci. | 0, 1,…, 59 |
%f | Ondalık sayı olarak mikro saniye, solda sıfır ile doldurulmuş. | 000000 - 999.999 |
%z | + HHMM veya -HHMM biçiminde UTC uzaklığı. | |
%Z | Saat dilimi adı. | |
%j | Sıfır ile doldurulmuş ondalık sayı olarak yılın günü. | 001, 002,…, 366 |
%-j | Ondalık sayı olarak yılın günü. | 1, 2,…, 366 |
%U | Yılın hafta numarası (Haftanın ilk günü Pazar). Yeni yıldaki ilk Pazar gününden önceki tüm günler 0. haftada kabul edilir. | 00, 01,…, 53 |
%W | Yılın hafta numarası (haftanın ilk günü olarak Pazartesi). Yeni yıldaki ilk Pazartesi gününden önceki tüm günler 0. haftada kabul edilir. | 00, 01,…, 53 |
%c | Yerel ayarın uygun tarih ve saat gösterimi. | 30 Eyl Pzt 07:06:05 2013 |
%x | Yerel ayarın uygun tarih temsili. | 09/30/13 |
%X | Yerel ayarın uygun zaman gösterimi. | 07:06:05 |
%% | Birebir '%' karakteri. | % |
Strptime () içinde ValueError
Dizge (ilk bağımsız değişken) ve biçim kodu (ikinci bağımsız değişken) strptime()
eşleşmiyorsa, elde edersiniz ValueError
. Örneğin:
from datetime import datetime date_string = "12/11/2018" date_object = datetime.strptime(date_string, "%d %m %Y") print("date_object =", date_object)
Bu programı çalıştırırsanız, bir hata alırsınız.
ValueError: '12 / 11/2018 'zaman verileri'% d% m% Y 'biçimiyle eşleşmiyor
Önerilen Okumalar: Python strftime ()