Python strftime () - dátum és karaktersorozat

Ebben a cikkben megtanulja a dátum, az idő és a dátum és idő objektumokat annak megfelelő karakterláncra konvertálni (példák segítségével)

A strftime()metódus a dátumot és az időt ábrázoló karakterláncot ad vissza a dátum, az idő vagy a dátum és idő objektum használatával.

1. példa: dátumidő karakterláncra az strftime () használatával

Az alábbi program az datetimeaktuális dátumot és időt tartalmazó objektumot különböző karakterlánc-formátumokká konvertálja.

  from datetime import datetime now = datetime.now() # current date and time year = now.strftime("%Y") print("year:", year) month = now.strftime("%m") print("month:", month) day = now.strftime("%d") print("day:", day) time = now.strftime("%H:%M:%S") print("time:", time) date_time = now.strftime("%m/%d/%Y, %H:%M:%S") print("date and time:",date_time) 

A program futtatásakor a kimenet valami hasonló lesz:

 év: 2018 hónap: 12 nap: 24 idő: 04:59:31 dátum és idő: 2018.12.24., 04:59:31 

Itt az év, a nap, az idő és a dátum_idő karakterlánc, míg a most egy datetimeobjektum.

Hogyan működik az strftime ()?

A fenti program %Y, %m, %dstb formátum kódok. A strftime()módszer egy vagy több formátumkódot vesz fel argumentumként, és ez alapján egy formázott karakterláncot ad vissza.

  1. datetimeOsztályt importáltunk a datetimemodulból. Ez azért van, mert az datetimeosztály objektuma hozzáférhet a strftime()metódushoz.
  2. Az datetimeaktuális dátumot és időt tartalmazó objektum a most változóban tárolódik.
  3. A strftime()módszer formázott karakterláncok létrehozására használható.
  4. A strftime()metódusnak átadott karakterlánc több formátumkódot is tartalmazhat.

2. példa: Karaktersorozat létrehozása időbélyegből

  from datetime import datetime timestamp = 1528797322 date_time = datetime.fromtimestamp(timestamp) print("Date time object:", date_time) d = date_time.strftime("%m/%d/%Y, %H:%M:%S") print("Output 2:", d) d = date_time.strftime("%d %b, %Y") print("Output 3:", d) d = date_time.strftime("%d %B, %Y") print("Output 4:", d) d = date_time.strftime("%I%p") print("Output 5:", d) 

A program futtatásakor a kimenet a következő lesz:

 Dátum és idő objektum: 2018-06-12 09:55:22 2. kimenet: 2018.06.06., 09:55:22 3. kimenet: 2018. június 12.: kimenet 2018. június 4.: 12 .: kimenet: 5.00 

Kódlista formázása

Az alábbi táblázat bemutatja az összes kódot, amelyet átadhat a strftime()módszernek.

Irányelv Jelentése Példa
%a Rövidített hétköznapi név. V, H,…
%A Teljes hétköznapi név. Vasárnap hétfő,…
%w Hétköznap decimális számként. 0, 1,…, 6
%d A hónap napja nulla betétes tizedesjegyként. 01, 02,…, 31
%-d A hónap napja decimális számként. 1., 2.,…, 30.
%b Rövidített havi név. Jan, február,…, dec
%B Teljes hónap neve. Január február,…
%m Hónap nulla betétes decimális számként. 01, 02,…, 12
%-m A hónap decimális számként. 1., 2.,…, 12.
%y Század nélküli év nulla betétes tizedesszámként. 00, 01,…, 99
%-y Év század nélkül, tizedes számként. 0, 1,…, 99
%Y Év, évszázad tizedesjegyként. 2013, 2019 stb.
%H Óra (24 órás óra) nulla betétes decimális számként. 00, 01,…, 23
%-H Óra (24 órás óra) tizedes számként. 0, 1,…, 23
%I Óra (12 órás óra) nulla betétes decimális számként. 01, 02,…, 12
%-I Óra (12 órás óra) decimális számként. 1., 2., 12.
%p A területi beállítás: AM vagy PM. DÉLELŐTT DÉLUTÁN
%M Perc nulla betétes decimális számként. 00, 01,…, 59
%-M Perc decimális számként. 0, 1,…, 59
%S Másodszor, nulla betétes decimális számként. 00, 01,…, 59
%-S Második tizedes számként. 0, 1,…, 59
%f Mikroszekundum decimális számként, balra nulla betétes. 000000 - 999999
%z UTC eltolás + HHMM vagy -HHMM alakban.
%Z Időzóna neve.
%j Az év napja nulla betétes tizedes számként. 001, 002,…, 366
%-j Az év napja decimális számként. 1, 2,…, 366
%U Az év heti száma (vasárnap, mint a hét első napja). Az első vasárnapot megelőző új év minden napja a 0. hétnek tekintendő. 00, 01,…, 53
%W Az év heti száma (hétfő, mint a hét első napja). Az első hétfőt megelőző új év minden napja a 0. hétnek tekintendő. 00, 01,…, 53
%c A területi beállítás megfelelő dátum és idő ábrázolása. 2013. szeptember 30., hétfő, 07:06:05
%x A területi beállítás megfelelő dátumábrázolása. 2013. 09. 30.
%X A nyelv megfelelő időbeli ábrázolása. 07:06:05
%% Szó szerinti „%” karakter. %

3. példa: A területi beállítás megfelelő dátuma és ideje

  from datetime import datetime timestamp = 1528797322 date_time = datetime.fromtimestamp(timestamp) d = date_time.strftime("%c") print("Output 1:", d) d = date_time.strftime("%x") print("Output 2:", d) d = date_time.strftime("%X") print("Output 3:", d) 

A program futtatásakor a kimenet a következő lesz:

 1. kimenet: kedd, június 12. 09:55:22, 2018 2. kimenet: 18.06.12., 3. kimenet: 09:55:22 

Formátumkódok %c, %xés %Xhasználják a területi beállítások megfelelő dátum és idő ábrázolására.

Javasoljuk továbbá a Python strptime () ellenőrzését. A strptime()módszer egy datetimeobjektumot hoz létre egy karakterláncból.

érdekes cikkek...