курси програмування для дітей безкоштовно

16. Дата у Python

Дата| Python для дітей | ITisFuture

На цьому уроці ми дізнаємося як працює дата у Python. Як зручно опрацьовувати час та дати за допомогою спеціальної бібліотеки datetime. Ми розглянемо ключові функції, які дозволяють отримувати поточну дату, форматувати її, додавати або віднімати дні, порівнювати дати та багато іншого. Це дуже корисний інструмент для створення програм, що працюють з календарем, графіками або просто потребують контролю часу.

Як працює дата у Python

Для того, щоб працювати з датою, треба підключити бібліотеку:

import datetime 

Втім, якщо підключити так, то треба буде писати кожен раз datetime.datetime.now(), щоб викликати функцію. Тому є простіший варіант, який дозволить скоротити команди:

Кращий варіант:

from datetime import * # тоді функції викликаємо так datetime.now()

Деякі функції бібліотеки :

date(year, month, day) – стандартна дата. Атрибути: year, month, day. Незмінний об’єкт.
time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None) – стандартний час, не залежить від дати. Атрибути: hour, minute, second, microsecond, tzinfo.
datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None) – дата та час одночасно. (year, month, day – обов’язково треба вказувати)
timedelta – різниця між двома моментами часу з точністю до мілісекунд
some_date.weekday() – день тижня у вигляді числа, понеділок – 0, неділя – 6.
some_date.isoweekday() – день тижня у вигляді числа, понеділок – 1, неділя – 7.
some_date.strftime(format) – виводить дату у заданому форматі.
datetime.now() – дата та час на зараз.

А ось табличка з директивами, які допоможуть вивести дату у різних форматах

ДирективаЗначенняПриклад
%AДень тижняSunday, Monday, …, Saturday (en_US);
%wНомер дня тижня0, 1, …, 6
%dдень місяця01, 02, …, 31
%BмісяцьJanuary, February, …, December 
%mномер місяця01, 02, …, 12
%Yрік2019
%Hкількість годин(від 0 до 24)00, 01, …, 23
%pAM – якщо час до полудня  PM –  якщо час після полудня AM, PM (en_US);
%Mхвилини00, 01, …, 59
%Sсекунди00, 01, …, 59
%fмікросекунди000000, 000001, …, 999999

Практика


1: Напишімо програму, в якій ми задаємо сьогоднішню дату, а вона визначає номер дня тижня для цього дня (0 – понеділок, 6- неділя):

from datetime import date
d = date(2025, 4, 6) #  рік, місяць, день
print ("Сьогодні : "+str(d))
print ("Номер дня тижня : "+str(d.weekday()))
дата у python | меми про  ІТ  та програмування для дітей | Python для дітей | ITisFuture

2: Змініть попередню програму. Нехай користувач вводить свій рік, місяць і день народження, а програма виводитиме йому номер дня тижня, в який він народився.

3: Дізнаймося поточну дату та час і додамо таку магічну команду для виводу дня:

today = datetime.now()
t = today.strftime("%A, %d. %B %Y %H:%M %p")
print(t)

Спробуйте розгадати, що виводить кожна буква зі знаком %

Після того, як розгадаєте, вище ви зможете знайти табличку з описом цих знаків.

4: Запишіть у змінну даті та час на зараз: datetime.now()

  • виведіть тільки рік
  • виведіть тільки день тижня
  • виведіть тільки години, хвилини, секунди і мілісекунди

5: Тут наведено приклад програми, яка рахує, скільки часу пройшло з дня вашого народження(підправте відповідні цифри):

today = datetime.now()
dn = datetime(2000, 2, 9)
delta=today-dn
print ("Мені вже : "+str(delta))

6: Змініть програму так, щоб юзер сам вводив рік, місяць і день свого народження, а програма видавала йому скільки часу пройшло з дня його народження.

7: Дізнаймося, який день буде через 34 дні і який був 34 дні тому.

today = datetime.today()
period = timedelta(days=34)

Дізнаємося, яка число буде через 34 дні.

new_date = today+period
print (f"через {str (period)} дні буде {str (new_date)}")

Дізнаємося, яка число дуло 34 дні тому.

new_date = today-period
print (f"{str (period)} дня тому було {str (new_date)}")
дата у python | меми про  ІТ  та програмування для дітей | Python для дітей | ITisFuture

8: Кажуть, що можна навчитись сідати на шпагат за 62 дні. Через скільки часу ви сядете на шпагат, якщо почнете тренуватися від сьогодні?
9: Кажуть, що можна набути нову звичку на 21 день. Через скільки часу ви здобудете нову звичку, якщо почнете тренуватися прямо зараз ?

Уроки програмування для дітей. Домашня робота

Домашня робота

1: Запишіть у змінну поточну дату та час за допомогою: datatimeNOW=datetime.now()
Використовуючи strftime, виведіть :

  • місяць, який у нас зараз
  • день тижня
  • години хвилини
  • секунди, мікросекунди

Приклад роботи програми:
Month: January
Day Of Week: Sunday
Time: 13:10
Seconds and microseconds: 34.454554

Підказка до номера 1:
%f мікросекунди

меми про ІТ та програмування для дітей | Python для дітей | ITisFuture

2: Напишіть програму-органайзер: користувач вводить дату, а програма має обчислити, який це день тижня та вивести розклад гуртків на цей день (розклад гуртків можете взяти нижче, або написати розклад своїх гуртків (не менше трьох)):
Приклад розкладу:
У понеділок середу та п’ятницю – англійська
у вівторок та п’ятницю – футбол
у середу та неділю – програмування
в інші дні – відпочинок

3: Виведіть поточний час, як у завданні 1 з домашки, тільки не через двокрапку, а так, як показано у приладі:
Приклад:
Time: 16 hours 10 minutes

Уроки програмування для дітей ускладнені завдання level up

Level Up!
Дата у Python

1: Роздивіться приклад. Що він рахує?

a = input('Дата (рррр-мм-дд): ')
a = a.split('-')
aa = date(int(a[0]),int(a[1]),int(a[2]))
bb = date.today()
cc = aa-bb
dd = str(cc)
print(dd.split()[0])
дата у python | меми про  ІТ  та програмування для дітей | Python для дітей | ITisFuture

2: Створіть програму, в якій користувач вводить дату, а програма визначає, який це день тижня і дає користувачеві побажання або пораду цього дня тижня (побажання придумайте самі)
Приклад:
Введіть дату(рррр-мм-дд): 2019-01-20
У неділю краще відпочивати, здійснювати прогулянки та мислити спонтанно

3: Складіть календар найулюбленіших свят у вашій родині (3-4 свята). Програма має порахувати, скільки днів залишилося до кожного зі свят

4: День програміста відзначається на 256-й день року. Щороку це різна дата. Якого числа відзначатимуть цьогорічний день програміста? (складіть програму, яка це визначить)

Більше команд дивись тут w3schools.com і тут : docs.python.org

Не зупиняйтесь у вивченні Python! До зустрічі на наступних уроках!

Залишити коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *