Время и дата на языке Python



Download 0,86 Mb.
bet6/8
Sana13.06.2022
Hajmi0,86 Mb.
#662074
TuriКурсовая
1   2   3   4   5   6   7   8
Bog'liq
Пирниязова Мадина 20-7 гр

timedelta


Класс timedelta предназначен для удобного выполнения различных манипуляций над датами и временем. Можно создать объект данного класса, воспользовавшись конструктором. Аргументами являются дни, часы, минуты, секунды, микросекунды и недели, задать которые можно с помощью прямого обращения к именам свойств, как это показано в следующем примере. Как и раньше, метод print позволяет выводить сведения о дате на экран, а функция type отображает тип созданного объекта.
from datetime import timedelta
a = timedelta(days=5, hours=21, minutes=2, seconds=37)
print(a)
print(type(a))

5 days, 21:02:37



Также можно прибавлять разные даты, формируя тем самым новый объект. В следующем примере показано, как получить сумму двух разных дат, воспользовавшись арифметической операцией для переменных a и b. Результат данного действия присваивается объекту под названием c, после чего выводится на экран в обычном формате при помощи метода print.
from datetime import datetime, timedelta
a = datetime(2022, 12, 5)
b = timedelta(hours=2, minutes=5, seconds=17)
print(a)
c = a + b
print(c)

2022-12-05 00:00:00


2022-12-05 02:05:17



tzinfo и timezone


Классы tzinfo и timezone применяются для работы с информацией, которая содержит сведения о часовых поясах. Создать объект, принадлежащий типу tzinfo невозможно, поскольку этот класс является абстрактным. Однако можно воспользоваться наследованием, создав собственный класс на основе tzinfo. При этом следует помнить, что для работы с такими объектами придется реализовать несколько абстрактных методов, к числу которых относятся utcoffset (смещение по местному времени с UTC), dst (настройка перехода на летнее время), а также функция tzname (имя часового пояса в виде строки).
from datetime import tzinfo, timedelta, datetime, timezone
class UTC0530(tzinfo):
def __init__(self, offset=19800, name=None):
self.offset = timedelta(seconds=offset)
self.name = name or self.__class__.__name__
def utcoffset(self, dt):
return self.offset
def tzname(self, dt):
return self.name
def dst(self, dt):
return timedelta(0)
a = datetime.now(timezone.utc)
print(a)
b = datetime.now(UTC0530())
print(b)
print(b.utcoffset())
print(b.tzname())
print(b.dst())

2022-04-09 11:00:11.889875+00:00


2022-04-09 16:30:11.890014+05:30
5:30:00
UTC0530
0:00:00

В приведенной программе демонстрируется создание пользовательского класса UTC0530, в котором описаны методы utcoffset, dst и tzname, а также применение нового типа с двумя объектами a и b. Таким образом, получается отображение времени со смещением +5:30.




Download 0,86 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish