strftime() bilan tanishish
strftime() metodi date, time yoki datetime obyekti yordamida sana va vaqtni ifodalovchi satrni qaytaradi.
1-misol: strftime() yordamida datetime'ni satrga aylantirish
Quyidagi dastur joriy sana va vaqtni o'z ichiga olgan datetime obyektini turli satr formatlariga aylantiradi.
from datetime import datetime
now = datetime.now() # joriy sana va vaqt
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)
Dasturni ishga tushirganingizda, natija taxminan quyidagicha bo'ladi:
year: 2018
month: 12
day: 24
time: 04:59:31
date and time: 12/24/2018, 04:59:31
Bu yerda, year, day, time va date_time — satrlar, now esa datetime obyekti.
Yuqoridagi dasturda, %Y, %m, %d va h.k. — format kodlari. strftime() metodi argument sifatida bir yoki bir nechta format kodini oladi va shu asosda formatlangan satrni qaytaradi.
Biz datetime modulidan datetime klassini import qildik. Buning sababi, datetime klassining obyekti strftime() metodiga murojaat qila oladi.
Joriy sana va vaqtni o'z ichiga olgan datetime obyekti now o'zgaruvchisida saqlanadi.
strftime() metodi formatlangan satrlar yaratish uchun ishlatilishi mumkin.
strftime() metodiga uzatgan satringiz bir nechta format kodini o'z ichiga olishi mumkin.
2-misol: Timestamp'dan satr yaratish
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)
Dasturni ishga tushirganingizda, natija bunday bo'ladi:
Date time object: 2018-06-12 09:55:22
Output 2: 06/12/2018, 09:55:22
Output 3: 12 Jun, 2018
Output 4: 12 June, 2018
Output 5: 09AM
Quyidagi jadvalda strftime() metodiga uzatishingiz mumkin bo'lgan barcha kodlar ko'rsatilgan.
| Direktiva | Ma'nosi | Misol |
|---|---|---|
%a | Qisqartirilgan hafta kuni nomi. | Sun, Mon, ... |
%A | To'liq hafta kuni nomi. | Sunday, Monday, ... |
%w | Hafta kuni o'nlik son sifatida. | 0, 1, ..., 6 |
%d | Oyning kuni, nol bilan to'ldirilgan o'nlik son. | 01, 02, ..., 31 |
%-d | Oyning kuni o'nlik son sifatida. | 1, 2, ..., 30 |
%b | Qisqartirilgan oy nomi. | Jan, Feb, ..., Dec |
%B | To'liq oy nomi. | January, February, ... |
%m | Oy, nol bilan to'ldirilgan o'nlik son. | 01, 02, ..., 12 |
%-m | Oy o'nlik son sifatida. | 1, 2, ..., 12 |
%y | Asrsiz yil, nol bilan to'ldirilgan o'nlik son. | 00, 01, ..., 99 |
%-y | Asrsiz yil o'nlik son sifatida. | 0, 1, ..., 99 |
%Y | Asr bilan yil, o'nlik son sifatida. | 2013, 2019 va h.k. |
%H | Soat (24 soatlik), nol bilan to'ldirilgan o'nlik son. | 00, 01, ..., 23 |
%-H | Soat (24 soatlik) o'nlik son sifatida. | 0, 1, ..., 23 |
%I | Soat (12 soatlik), nol bilan to'ldirilgan o'nlik son. | 01, 02, ..., 12 |
%-I | Soat (12 soatlik) o'nlik son sifatida. | 1, 2, ... 12 |
%p | Til hududiga oid AM yoki PM. | AM, PM |
%M | Daqiqa, nol bilan to'ldirilgan o'nlik son. | 00, 01, ..., 59 |
%-M | Daqiqa o'nlik son sifatida. | 0, 1, ..., 59 |
%S | Soniya, nol bilan to'ldirilgan o'nlik son. | 00, 01, ..., 59 |
%-S | Soniya o'nlik son sifatida. | 0, 1, ..., 59 |
%f | Mikrosoniya o'nlik son sifatida, chapdan nol bilan to'ldirilgan. | 000000 - 999999 |
%z | UTC siljishi +HHMM yoki -HHMM ko'rinishida. | |
%Z | Vaqt mintaqasi nomi. | |
%j | Yilning kuni, nol bilan to'ldirilgan o'nlik son. | 001, 002, ..., 366 |
%-j | Yilning kuni o'nlik son sifatida. | 1, 2, ..., 366 |
%U | Yilning hafta raqami (yakshanba haftaning birinchi kuni). Yangi yildagi birinchi yakshanbadan oldingi barcha kunlar 0-hafta hisoblanadi. | 00, 01, ..., 53 |
%W | Yilning hafta raqami (dushanba haftaning birinchi kuni). Yangi yildagi birinchi dushanbadan oldingi barcha kunlar 0-hafta hisoblanadi. | 00, 01, ..., 53 |
%c | Til hududiga mos sana va vaqt ko'rinishi. | Mon Sep 30 07:06:05 2013 |
%x | Til hududiga mos sana ko'rinishi. | 09/30/13 |
%X | Til hududiga mos vaqt ko'rinishi. | 07:06:05 |
%% | Literal '%' belgisi. | % |
3-misol: Til hududiga mos sana va vaqt
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)
Dasturni ishga tushirganingizda, natija bunday bo'ladi:
Output 1: Tue Jun 12 09:55:22 2018
Output 2: 06/12/18
Output 3: 09:55:22
%c, %x va %X format kodlari til hududiga mos sana va vaqt ko'rinishi uchun ishlatiladi.
Shuningdek, Python strptime() sahifasini ko'rib chiqishni tavsiya qilamiz. strptime() metodi satrdan datetime obyekti yaratadi.