Python strptime () - datetime nesnesine dizge

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 datetimenesnesini 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 ()

Ilginç makaleler...