
Проект
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
50 questions
БҚБ
Presentation
•
10th Grade
47 questions
Повторення показникової функції та показникових рівнянь
Presentation
•
11th Grade
49 questions
Лекција 70.71.72. ОРС
Presentation
•
12th Grade
51 questions
Каучук. Гума
Presentation
•
9th Grade
51 questions
Викторина
Presentation
•
University
50 questions
Природні зони світу
Presentation
•
11th Grade
51 questions
Где логика? (история)
Presentation
•
11th Grade
52 questions
Урок физики 10 класс (МЕХАНИКА)
Presentation
•
10th Grade
Popular Resources on Wayground
28 questions
US History Regents Review
Quiz
•
11th Grade
36 questions
Biology Regents Review
Quiz
•
9th - 10th Grade
20 questions
Math Review
Quiz
•
3rd Grade
38 questions
Regents Life Science General Review
Quiz
•
9th Grade
20 questions
Math Review
Quiz
•
6th Grade
21 questions
EOY Grade 6 Benchmark Assessment - Content Skills
Quiz
•
6th Grade
20 questions
Inferences
Quiz
•
4th Grade
20 questions
Figurative Language Review
Quiz
•
6th Grade
Discover more resources for Information Technology (IT)
28 questions
US History Regents Review
Quiz
•
11th Grade
45 questions
Earth and Space Science Regents: Exam Cram
Presentation
•
7th - 12th Grade
35 questions
US History - Regents Review - President, Amendments, Court Cases
Quiz
•
11th Grade
50 questions
US History Comprehensive Final Exam
Quiz
•
9th - 12th Grade
50 questions
US History Regents Practice Exam
Quiz
•
11th Grade
30 questions
US History Regents Review #3
Quiz
•
11th Grade
16 questions
TSI Math 2.0 Practice
Quiz
•
9th Grade - University
25 questions
US History Regents Review # 1
Quiz
•
11th Grade