264 lines
8.6 KiB
Plaintext
264 lines
8.6 KiB
Plaintext
{
|
|
"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
|
|
}
|