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.
datetimeOsztályt importáltunk adatetimemodulból. Ez azért van, mert azdatetimeosztály objektuma hozzáférhet astrftime()metódushoz.
- Az
datetimeaktuális dátumot és időt tartalmazó objektum a most változóban tárolódik.
- A
strftime()módszer formázott karakterláncok létrehozására használható.
- 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.








