12 советов для работы с датой и временем
Примеры Python » Общие вопросы datetime, python date, python time
Библиотека datetime содержит несколько полезных объектов для работы со временем и датами. Я регулярно пользуюсь ими, и хочу поделиться кое-какими полезными операциями, которые могут помочь вам в работе.
1. Во первых, давайте импортируем библиотеку datetime и создадим три разных объекта:
- Объект date – для хранения даты;
- Объект time – для хранения времени;
- Объект datetime – для хранения и даты и времени.
Для начала создадим объект datetime, мы можем извлечь его время и дату и создать соответствующие объекты:
import datetime
now = datetime.datetime.now()
today = now.date()
moment = now.time()
Если вы впишете все вышеуказанное, вы получите что-то на подобие следующего:
print(now) # datetime.datetime(2017, 4, 14, 16, 38, 46, 271475)
print(today) # datetime.date(2017, 4, 14)
print(moment) # datetime.time(16, 38, 46, 271475)
Здесь мы видим, что время 16 часов 46 минут и 46.171475 секунду, и сегодня 14 Апреля 2017.
2. Вы также можете создать объекты date и time и получить объект datetime python, при помощи метода комбинирования:
today = datetime.date.today()
moment = datetime.datetime.now().time()
now = datetime.datetime.combine(today, moment)
3. Еще один интересный объект, это timedelta, который используется для суммирования или вычитания количества дней:
yesterday = today - datetime.timedelta(1)
Или он может хранить разницу между двумя объектами datetime:
delta = yesterday - today
4. Объекты даты имеют три обязательных аргумента (вы можете изменить их порядок при помощи ключей):
my_date = datetime.date(1984, 6, 24)
my_date = datetime.date(day=24, year=1984, month=6)
5. Объекты времени не имеют обязательных аргументов. Эти три оператора являются эквивалентом:
my_time = datetime.time()
my_time = datetime.time(0,0) # Час, Минута
my_time = datetime.time(hour=0, minute=0)
6. Изменение одного объекта datetime для получения другого, при помощи метода replace:
another_datetime = my_datetime.replace(year=2014, month=1)
7. Получение объекта datetime, представляющий эпоху 01-01-1970:
epoch = datetime.datetime.utcfromtimestamp(0)
8. Получение количества дней и секунд между эпохой и сейчас, а также получение общего количества прошедших секунд:
delta = now - epoch
days = delta.days
seconds = delta.seconds
total_seconds = delta.total_seconds()
9. Восстановление объекта, с использованием количества секунд начиная с эпохи при помощи метода utcfromtimestamp:
now = datetime.datetime.utcfromtimestamp(seconds)
10. Создаем объект date как “1984-06-24”:
string_date = str(my_date)
11. Восстановление объекта со строки, на подобие “1984-06-24”:
my_date = datetime.date(*[int(i) for i in string_date.split("-")])
12. Пишем объект date с настроенным форматом строки при помощи метода strftime:
string_date = my_date.strftime('%m/%d/%Y') # Выводит: "06/24/1984"
Спасибо за внимание, надеюсь, эта статья поможет вам при работе с датой и временем в Python!
- Казино Вулкан ждет гостей
- Игровой автомат Diamond Vapor - скачать Вулкан Делюкс казино и сорви джекпот
- Доступ к базе данных SQLite из Python
- Скачать мобильное приложение казино Вулкан и играй в автомате Vikings от NetEnt
- Синхронизация потоков в Python
- Современные альтернативы функциям map, filter и reduce в Python
- Декораторы функций в Python
Добрый день! Каким образом указывать время конкретного региона?