48 / 59

Python strftime()

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.

example.py
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:

kod
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.

strftime() qanday ishlaydi?

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

example.py
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:

kod
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

Format kodlari ro'yxati

Quyidagi jadvalda strftime() metodiga uzatishingiz mumkin bo'lgan barcha kodlar ko'rsatilgan.

DirektivaMa'nosiMisol
%aQisqartirilgan hafta kuni nomi.Sun, Mon, ...
%ATo'liq hafta kuni nomi.Sunday, Monday, ...
%wHafta kuni o'nlik son sifatida.0, 1, ..., 6
%dOyning kuni, nol bilan to'ldirilgan o'nlik son.01, 02, ..., 31
%-dOyning kuni o'nlik son sifatida.1, 2, ..., 30
%bQisqartirilgan oy nomi.Jan, Feb, ..., Dec
%BTo'liq oy nomi.January, February, ...
%mOy, nol bilan to'ldirilgan o'nlik son.01, 02, ..., 12
%-mOy o'nlik son sifatida.1, 2, ..., 12
%yAsrsiz yil, nol bilan to'ldirilgan o'nlik son.00, 01, ..., 99
%-yAsrsiz yil o'nlik son sifatida.0, 1, ..., 99
%YAsr bilan yil, o'nlik son sifatida.2013, 2019 va h.k.
%HSoat (24 soatlik), nol bilan to'ldirilgan o'nlik son.00, 01, ..., 23
%-HSoat (24 soatlik) o'nlik son sifatida.0, 1, ..., 23
%ISoat (12 soatlik), nol bilan to'ldirilgan o'nlik son.01, 02, ..., 12
%-ISoat (12 soatlik) o'nlik son sifatida.1, 2, ... 12
%pTil hududiga oid AM yoki PM.AM, PM
%MDaqiqa, nol bilan to'ldirilgan o'nlik son.00, 01, ..., 59
%-MDaqiqa o'nlik son sifatida.0, 1, ..., 59
%SSoniya, nol bilan to'ldirilgan o'nlik son.00, 01, ..., 59
%-SSoniya o'nlik son sifatida.0, 1, ..., 59
%fMikrosoniya o'nlik son sifatida, chapdan nol bilan to'ldirilgan.000000 - 999999
%zUTC siljishi +HHMM yoki -HHMM ko'rinishida.
%ZVaqt mintaqasi nomi.
%jYilning kuni, nol bilan to'ldirilgan o'nlik son.001, 002, ..., 366
%-jYilning kuni o'nlik son sifatida.1, 2, ..., 366
%UYilning hafta raqami (yakshanba haftaning birinchi kuni). Yangi yildagi birinchi yakshanbadan oldingi barcha kunlar 0-hafta hisoblanadi.00, 01, ..., 53
%WYilning hafta raqami (dushanba haftaning birinchi kuni). Yangi yildagi birinchi dushanbadan oldingi barcha kunlar 0-hafta hisoblanadi.00, 01, ..., 53
%cTil hududiga mos sana va vaqt ko'rinishi.Mon Sep 30 07:06:05 2013
%xTil hududiga mos sana ko'rinishi.09/30/13
%XTil hududiga mos vaqt ko'rinishi.07:06:05
%%Literal '%' belgisi.%

3-misol: Til hududiga mos sana va vaqt

example.py
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:

kod
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.

QBilimingizni sinab ko'ring
1 / 3

1. %Y va %y format kodlari orasidagi farq nima?