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!
- Бонусы на бесплатных азартных игровых слотах в онлайн казино
- Чтение изображения из SQLite
- Преимущества виртуального VPS сервера
- Инструкция with - as в Python
- Игровой автомат Secret Forest - бесплатно играть в Император казино онлайн
- Строки. Функции и методы строк
- Распаковка массива в отдельные переменные [Решение #1.1]
Добрый день! Каким образом указывать время конкретного региона?