19 лютого 2020 р.
Naive - це об'єкт datetime без інформаіцiї про таймзону (tzinfo):
>>> import datetime
>>> datetime.datetime.now()
datetime.datetime(2020, 2, 19, 9, 15, 6, 211358)
Aware - це об'єкт datetime у якого є інформаіцiя про таймзону (tzinfo):
>>> import datetime
>>> import pytz
>>> now_utc = pytz.utc.localize(datetime.datetime.utcnow())
datetime.datetime(2020, 2, 19, 9, 15, 6, 211358, tzinfo=<utc>)
Трансформація datetime з однієї таймзони до іншої:
>>> kyiv_tz_dt = now_utc.astimezone(pytz.timezone('Europe/kiev'))
Змінити naive datetime на aware datetime можна за допомогою функції replace():
>>> dt = datetime.datetime.now()
>>> dt
datetime.datetime(2020, 2, 19, 9, 15, 6, 211358)
>>> tz = pytz.timezone('Europe/kiev')
>>> dt.replace(tzinfo=tz)
datetime.datetime(2020, 2, 19, 9, 15, 6, 211358, tzinfo=<DstTzInfo 'Europe/Kiev' LMT+2:02:00 STD>)
Альтернативний темінал для Linux плюс корисні інструменти до нього
Отримання змін з головної гілки, об'єднання декількох комітів