
Проект
Presentation
•
Information Technology (IT)
•
11th Grade
•
Practice Problem
•
Easy
алина родевич
Used 8+ times
FREE Resource
57 Slides • 0 Questions
1
Работа с датой и временем.
Модуль datetime.
2
Авторы:
Панкратов Никита
Родевич Алина
Маковец Николай
3
Теоретическая часть
4
Как использовать модуль datetime?
datetime — модуль, который позволяет управлять датами и временем, представляя их в таком виде, в котором пользователи смогут их понимать.
datetime включает различные компоненты. Так, он состоит из объектов следующих типов:
date — объекты даты.
datetime — объекты даты и времени.
time — объекты времени.
timedelta — этот атрибут покрывает интервалы и используется для определения прошлых или будущих событий.
5
Как получить текущие дату и время?
С помощью модуля Python это сделать очень просто. Сначала нужно импортировать класс datetime из модуля datetime, после чего создать объект datetime.
Модуль предоставляет метод now(), который возвращает текущие дату и время с учетом локальных настроек (формате год-месяц-день часы:минуты:секунды.миллисекунды соответственно).
6
Получение только текущей даты.
Класс date можно использовать для получения или изменения объектов даты (в формате год-месяц-день соответственно).
Например, для получения текущей с учетом настроек подойдет следующее:
7
Получение только текущего времени.
Для получения текущего локального времени сперва нужно получить текущие дату и время, а затем достать из этого объекта только время с помощью метода time():
8
Компоненты datetime в Python
Модуль datetime в Python может использоваться для получения разных версий времени. Для этого нужно ознакомиться с атрибутами модуля. Используем для этого функцию dir().
9
Как создавать объекты даты и времени
Для создания объекта времени используется класс time из модуля datetime в Python.
Синтаксис следующий:
10
Как создавать объекты даты и времени
В этом примере создается объект времени представленный следующим образом (8, 48, 45).
Сначала импортируется модуль datetime. После этого создается экземпляр класса (объект time). Затем ему присваивается значение datetime.time(8, 48, 45), где параметры 8, 48 и 45 представляют собой часы, минуты и секунды соответственно.
11
Для создания объекта даты нужно передать дату с использованием следующего синтаксиса:
datetime.datetime(year,month,day)
12
Timedelta
timedelta представляет длительность (даты или времени). Модуль datetime включает атрибут timedelta(), который используется для управления датой в Python. Объект timedelta выглядит следующим образом:
Все аргументы опциональные и их значения по умолчанию равно 0. Они могут быть целыми или числами с плавающей точкой, как положительными, так и отрицательными. Благодаря этому можно выполнять математические операции, такие как сложение, вычитание и умножение.
13
Как вычислить разницу для двух дат?
Посмотрим на несколько примеров вычисления разницы во времени. Предположим, есть два объекта datetime:
14
Для получения разницы нужно лишь вычесть значение одного объекта
из второго:
15
Как получать прошлые и будущие даты с помощью timedelta
Поскольку timedelta — это длительность, то для получения прошлой или будущей даты нужно добавить объект timedelta к существующему или вычесть из него же. Вот пример нескольких уравнений, где n — это целое число, представляющее количество дней:
16
Если нужно, например, получить дату за прошлые две недели, то достаточно вычесть 14 дней из текущей даты:
17
Другие арифметические операции с timedelta
Значения даты и времени могут сравниваться для определения того, какая из них была раньше или позже. Например:
18
Как конвертировать строки в datetime
strptime() в Python — это метод из модуля datetime.
Вот его синтаксис:
19
Аргументы формата необязательные и являются строками. Предположим, нужно извлечь текущие дату и время:
Результат будет в формате ISO 8601,
то есть YYYY-MM-DDTHH:MM:SS.mmmmmm — формат по умолчанию, что позволяет получать строки в едином формате.
20
Таблица форматов:
21
Пример:
22
Примеры конвертации строки в объект datetime с помощью strptime
Предположим, что есть следующая строка с датой: «11/17/20 15:02:34», и ее нужно конвертировать в объект datetime.
23
Даты могут быть записаны в разных форматах. Например, следующие даты отличаются лишь представлением:
Friday, November 17, 2020;
11/17/20;
11–17–2020.
24
Как конвертировать объект datetime в строку
Модуль datetime в Python содержит метод strftime(), который делает обратное (то есть, конвертирует объект datetime и time в строки). Вот его синтаксис:
25
Примеры конвертации datetime в строку с помощью strftime()
Предположим, нужно конвертировать текущий объект datetime в строку. Сначала нужно получить представление объекта datetime и вызвать на нем метод strftime().
26
Как получить строковое представление даты и времени с помощью функции format()
Пример №1. Конвертация текущей временной метки в объекте datetime в строку в формате «DD-MMM-YYYY (HH:MM:SS:MICROS)»:
27
Пример №2. Конвертация текущей временной метки объекта datetime в строку в формате «HH:MM:SS.MICROS – MMM DD YYYY».
28
Важный нюанс и вывод
Дату и время стоит конвертировать в локальную только при выводе пользователю.
Есть масса сценариев работы с датой и временем в реальных приложениях. Например:
- Запланировать работу скрипта на определенное время.
- Отфильтровать даты.
- Приложения для отслеживания событий, записей, бронирования и так далее.
30
Практическая часть
31
Напишите программу, которая выводит на экран текущие дату и время в формате:
Сегодня: 2023-10-25, время: 14:30:45
Задача 1
32
Блок-схема к задаче 1:
33
Код реализации на Python к задаче 1:
34
Напишите программу, которая запрашивает у пользователя его год рождения и вычисляет его возраст (полных лет).
Задача 2
35
Блок-схема к задаче 2:
36
Код реализации на Python к задаче 2:
37
Напишите программу, которая запрашивает у пользователя дату в формате «дд.мм.гггг» и выводит, сколько дней осталось до этой даты. Если дата уже прошла, вывести сообщение об этом.
Задача 3
38
Блок-схема к задаче 3:
39
Код реализации на Python к задаче 3:
40
Напишите программу, которая принимает две даты в формате «дд.мм.гггг» и вычисляет разницу между ними в днях.
Задача 4
41
Блок-схема к задаче 4:
42
Код реализации на Python к задаче 4:
43
Напишите программу, которая принимает список строк с датами в формате «гггг-мм-дд», находит самую раннюю и самую позднюю даты, а также сортирует все даты в порядке возрастания.
Задача 5
44
Блок-схема к задаче 5:
45
Код реализации на Python к задаче 5:
46
Выполним интерактивные задания!
47
48
49
50
52
53
Рефлексия
54
С какими трудностями мы столкнулись?
Понимание и правильное использование различных форматов даты и времени (strptime, strftime).
Логика корректного вычисления возраста и разницы в днях, особенно с учётом високосных лет и времени.
Работа с пользовательским вводом: валидация данных и обработка некорректных форматов.
Организация кода для обработки списка дат в задаче 5.
55
Что удалось хорошо?
Полностью разобрались с основными классами модуля datetime: date, datetime, timedelta.
Успешно реализовали все пять практических задач, включая сортировку дат и расчёт дельт.
Научились конвертировать даты между объектами Python и строковым представлением.
Создали наглядные блок-схемы, которые помогают понять логику программ.
56
Что можно улучшить?
Добавить более подробную обработку ошибок (например, при вводе несуществующей даты).
Расширить функционал некоторых задач (например, выводить возраст в годах, месяцах и днях).
Улучшить пользовательский интерфейс программ, сделав его более интерактивным.
Рассмотреть более сложные случаи работы со временем (часовые пояса).
57
Итоги презентации:
Мы считаем, что смогли доступно объяснить основы модуля datetime и показать его практическую пользу.
Работа с датой и временем.
Модуль datetime.
Show answer
Auto Play
Slide 1 / 57
SLIDE
Similar Resources on Wayground
53 questions
БРАЗИЛІЯ
Presentation
•
10th Grade
51 questions
Лекција 58.59.60. ОРС
Presentation
•
12th Grade
55 questions
3.4. лекција Рачунарство у облаку
Presentation
•
12th Grade
56 questions
Встановлення й утвердження комуністичного тоталітарного режиму в
Presentation
•
10th Grade
46 questions
Халықаралық маркетинг
Presentation
•
11th Grade
49 questions
Қаңтар ҰБТ | 28.01 - 04.02
Presentation
•
11th Grade
50 questions
11 анги Соёл 2 хэсэг
Presentation
•
11th Grade
50 questions
Розпад СРСР, Югославі, Чехословаччини
Presentation
•
11th Grade
Popular Resources on Wayground
15 questions
Grade 3 Simulation Assessment 1
Quiz
•
3rd Grade
22 questions
HCS Grade 4 Simulation Assessment_1 2526sy
Quiz
•
4th Grade
16 questions
Grade 3 Simulation Assessment 2
Quiz
•
3rd Grade
19 questions
HCS Grade 5 Simulation Assessment_1 2526sy
Quiz
•
5th Grade
17 questions
HCS Grade 4 Simulation Assessment_2 2526sy
Quiz
•
4th Grade
20 questions
Equivalent Fractions
Quiz
•
3rd Grade
24 questions
HCS Grade 5 Simulation Assessment_2 2526sy
Quiz
•
5th Grade
20 questions
Math Review
Quiz
•
3rd Grade
Discover more resources for Information Technology (IT)
20 questions
Earth Day Trivia
Quiz
•
9th - 12th Grade
10 questions
Earth Day Awareness and Impact
Interactive video
•
6th - 12th Grade
5 questions
A.F/ST Quizizz Day 1
Quiz
•
9th - 12th Grade
100 questions
Biology EOC Review
Quiz
•
9th - 12th Grade
20 questions
Earth Day
Quiz
•
3rd - 12th Grade
16 questions
AP Biology: Unit 1 Review (CED)
Quiz
•
9th - 12th Grade
5 questions
G.PC/DF Quizizz Day 2
Quiz
•
9th - 12th Grade
20 questions
verbos reflexivos en español
Quiz
•
9th - 12th Grade