{ "cells": [ { "cell_type": "markdown", "id": "901c685d", "metadata": {}, "source": [ "Задача 1. Текущая дата и время + разбор на части\n", "Напиши программу, которая:\n", " получает текущую дату и время;\n", " выводит:\n", " полную дату и время;\n", " отдельно год;\n", " отдельно месяц;\n", " отдельно день;\n", " отдельно часы;\n", " отдельно минуты;\n", " дополнительно выводит дату в формате:\n", " YYYY-MM-DD\n", " DD.MM.YYYY" ] }, { "cell_type": "code", "execution_count": 17, "id": "a9776c66", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Полная текущая дата и время - 2026-10-09 11:53:36.376962\n", "Год - 2026\n", "Месяц - 10\n", "День - 9\n", "Часы - 11\n", "Минуты - 53\n", "Формат вывода YYYY-MM-DD - 2026-10-09\n", "Формат вывода DD.MM.YYYY - 09.10.2026\n" ] } ], "source": [ "from datetime import datetime\n", "now = datetime.now()\n", "print(f\"Полная текущая дата и время - {now}\")\n", "print(f\"Год - {now.year}\")\n", "print(f\"Месяц - {now.month}\")\n", "print(f\"День - {now.day}\")\n", "print(f\"Часы - {now.hour}\")\n", "print(f\"Минуты - {now.minute}\")\n", "print(f\"Формат вывода YYYY-MM-DD - {now.strftime(\"%Y-%m-%d\")}\")\n", "print(f\"Формат вывода DD.MM.YYYY - {now.strftime(\"%d.%m.%Y\")}\")" ] }, { "cell_type": "markdown", "id": "69b619b5", "metadata": {}, "source": [ "Задача 2. Работа с конкретной датой\n", "Создай вручную дату события:\n", "2025-12-31 18:45:00\n", "Нужно:\n", " вывести эту дату;\n", " вывести отдельно:\n", " год;\n", " месяц;\n", " день;\n", " часы;\n", " минуты;\n", " создать ещё одну дату:\n", " 2026-01-05 09:00:00\n", " посчитать разницу между этими двумя датами;\n", " вывести:\n", " полную разницу;\n", " количество дней." ] }, { "cell_type": "code", "execution_count": 45, "id": "af9e0816", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Дата - 2025-12-31\n", "Год - 2025\n", "Месяц - 12\n", "День - 31\n", "Часы - 18\n", "Минуты - 45\n", "Полная разница между датами '-5 days, 9:45:00'\n", "Разница в количестве дней -5\n" ] } ], "source": [ "from datetime import datetime, timedelta\n", "\n", "date_event_str = \"2025-12-31 18:45:00\"\n", "date_event = datetime.strptime(date_event_str, \"%Y-%m-%d %H:%M:%S\")\n", "print(f\"Дата - {date_event.strftime(\"%Y-%m-%d\")}\") \n", "print(f\"Год - {date_event.year}\")\n", "print(f\"Месяц - {date_event.month}\")\n", "print(f\"День - {date_event.day}\")\n", "print(f\"Часы - {date_event.hour}\")\n", "print(f\"Минуты - {date_event.minute}\")\n", "\n", "another_date_event_str = \"2026-01-05 09:00:00\"\n", "another_date_event = datetime.strptime(another_date_event_str, \"%Y-%m-%d %H:%M:%S\")\n", "differences = date_event - another_date_event\n", "print(f\"Полная разница между датами '{differences}'\")\n", "print(f\"Разница в количестве дней {differences.days}\")" ] }, { "cell_type": "markdown", "id": "470d379a", "metadata": {}, "source": [ "Задача 3. Прибавление и вычитание времени\n", "Напиши программу, которая:\n", " получает текущую дату;\n", " считает:\n", " дату через 7 дней;\n", " дату через 30 дней;\n", " дату 14 дней назад;\n", " выводит все результаты;" ] }, { "cell_type": "code", "execution_count": 48, "id": "060745f2", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2026-10-09 14:11:42.487216\n", "2026-10-16 14:11:42.487216\n", "2026-11-08 14:11:42.487216\n", "2026-09-25 14:11:42.487216\n" ] } ], "source": [ "from datetime import datetime, timedelta\n", "now = datetime.now()\n", "in_7_days = now + timedelta(days=7)\n", "in_30_days = now + timedelta(days=30)\n", "before_14_days = now - timedelta(days=14)\n", "print(now)\n", "print(in_7_days)\n", "print(in_30_days)\n", "print(before_14_days)" ] }, { "cell_type": "markdown", "id": "9c82c9de", "metadata": {}, "source": [ "Задача 4. Преобразование строк в даты\n", "Дан список строк с датами:\n", "dates = [\"2026-03-30\",\"2026-03-25\",\"2026-02-15\",\"2026-01-01\"]\n", "Нужно:\n", " пройти по списку;\n", " каждую строку превратить в дату;\n", " для каждой даты вывести:\n", " исходную строку;\n", " полученную дату;\n", " день;\n", " месяц;\n", " год;\n", " посчитать, сколько дней прошло от этой даты до текущей даты." ] }, { "cell_type": "code", "execution_count": 57, "id": "25874736", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Исходная строка - 2026-03-30\n", "Преобразовання строка в дату - 2026-03-30 00:00:00\n", "День - 30\n", "Месяц - 3\n", "Год - 2026\n", "На сегодняшний день прошло - 193 дня\n", "\n", "Исходная строка - 2026-03-25\n", "Преобразовання строка в дату - 2026-03-25 00:00:00\n", "День - 25\n", "Месяц - 3\n", "Год - 2026\n", "На сегодняшний день прошло - 198 дня\n", "\n", "Исходная строка - 2026-02-15\n", "Преобразовання строка в дату - 2026-02-15 00:00:00\n", "День - 15\n", "Месяц - 2\n", "Год - 2026\n", "На сегодняшний день прошло - 236 дня\n", "\n", "Исходная строка - 2026-01-01\n", "Преобразовання строка в дату - 2026-01-01 00:00:00\n", "День - 1\n", "Месяц - 1\n", "Год - 2026\n", "На сегодняшний день прошло - 281 дня\n", "\n" ] } ], "source": [ "from datetime import datetime, timedelta\n", "dates_str = [\"2026-03-30\",\"2026-03-25\",\"2026-02-15\",\"2026-01-01\"]\n", "now = datetime.now()\n", "for date in dates_str:\n", " dates = datetime.strptime(date, \"%Y-%m-%d\")\n", " print(f\"Исходная строка - {date}\")\n", " print(f\"Преобразовання строка в дату - {dates}\")\n", " print(f\"День - {dates.day}\")\n", " print(f\"Месяц - {dates.month}\")\n", " print(f\"Год - {dates.year}\")\n", " differences = now - dates\n", " print(f\"На сегодняшний день прошло - {differences.days} дня\\n\")" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.13.7" } }, "nbformat": 4, "nbformat_minor": 5 }