import datetime d = datetime.date(1971, 4, 22) t = datetime.time(8, 45)
Combiner une date avec une heure :
import datetime d = datetime.date(1971, 4, 22) t = datetime.time(8, 45) dt = datetime.datetime.combine(d, t)
import datetime today = datetime.date.today()
⇒ Renvoie un objet datetime.date
import datetime now = datetime.datetime.now()
⇒ Renvoie un objet datetime.datetime
Obtenir un objet datetime.date à partir d'un objet datetime.datetime
import datetime datetime.datetime.now() # datetime.datetime(2020, 12, 17, 7, 11, 9, 23066) datetime.datetime.now().date # datetime.date(2020, 12, 17)
Voir: https://stackoverflow.com/questions/2150739/iso-time-iso-8601-in-python
import datetime datetime.datetime.now().strftime("%m/%d/%Y, %H:%M:%S") # '12/14/2020, 06:49:17' datetime.datetime.now().strftime("%Y%m%d-%H%M") # '20201412-0649'
Format ISO 8601 :
import datetime datetime.date.today().isoformat() # '2020-12-14' datetime.datetime.now().isoformat() # '2020-12-14T06:50:13.265235'
import datetime datetime.datetime.strptime("1971-04-22 08:30:25", "%Y-%m-%d %H:%M:%S") # datetime.datetime(1971, 4, 22, 8, 30, 25) datetime.datetime.strptime("1971-04-22", "%Y-%m-%d") # datetime.datetime(1971, 4, 22, 0, 0) datetime.datetime.strptime("1971-04-22", "%Y-%m-%d").date() # datetime.date(1971, 4, 22)
Format ISO 8601 Python min 3.7 :
import datetime datetime.date.fromisoformat("1971-04-22") # datetime.date(1971, 4, 22) datetime.datetime.fromisoformat("1971-04-22T08:30:25") # datetime.datetime(1971, 4, 22, 8, 30, 25)
Dates de début et de fin du mois écoulé :
import datetime # date d'aujourd'hui today = datetime.date.today() # trouver le premier jour du mois en cours firstDay = today.replace(day = 1) # reculer d'un jour => dernier jour du mois dernier lastMonthEnd = firstDay - datetime.timedelta(days = 1) # trouver le premier jour du mois dernier lastMonthStart = lastMonthEnd.replace(day = 1)
⇒ les variables lastMonthStart
et lastMonthDay
sont du type datetime.date
.
Dates de début et de fin du mois en cours :
import datetime, calendar def first_day_this_month(): today = datetime.date.today() return today.replace(day = 1) def last_day_this_month(): today = datetime.date.today() monthrange = calendar.monthrange(today.year, today.month) return today.replace(day = monthrange[1])
⇒ Ces fonctions renvoient une valeur de type datetime.date
import datetime today = datetime.date.today() # indice du jour (voir tableau ci-dessous) jour = today.weekday() # nom du jour print("Nous sommes un " + today.strftime('%A'))
0 | Monday |
---|---|
1 | Tuesday |
2 | Wednesday |
3 | Thursday |
4 | Friday |
5 | Saturday |
6 | Sunday |
import datetime today = datetime.date.today() # Afficher le numéro de semaine avec %W print("Nous sommes en semaine " + today.strftime('%W')) # L'obtenir sous forme numérique semaine = int(today.strftime('%W'))
Une meilleure méthode permet d'obtenir la semaine et le jour de la semaine, mais attention les numéros de jours correspondent à une norme différente :
1 | Monday |
---|---|
2 | Tuesday |
3 | Wednesday |
4 | Thursday |
5 | Friday |
6 | Saturday |
7 | Sunday |
import datetime today = datetime.date.today() i = today.isocalendar() annee = i.year semaine = i.week jour = i.weekday