Outils pour utilisateurs

Outils du site


python:dates_et_heures

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
python:dates_et_heures [2020/12/14 06:00]
marclebrun [Conversion de chaîne vers date/heure]
python:dates_et_heures [2023/02/22 15:23] (Version actuelle)
marclebrun [Début et fin de mois]
Ligne 1: Ligne 1:
 ====== Dates et Heures ====== ====== Dates et Heures ======
 +
 +===== Date et heure =====
 +
 +<code python>
 +import datetime
 +
 +d = datetime.date(1971,​ 4, 22)
 +t = datetime.time(8,​ 45)
 +</​code>​
 +
 +Combiner une date avec une heure :
 +
 +<code python>
 +import datetime
 +
 +d = datetime.date(1971,​ 4, 22)
 +t = datetime.time(8,​ 45)
 +
 +dt = datetime.datetime.combine(d,​ t)
 +</​code>​
  
 ===== Date et heure actuelles ===== ===== Date et heure actuelles =====
Ligne 16: Ligne 36:
  
 => Renvoie un objet ''​datetime.datetime''​ => Renvoie un objet ''​datetime.datetime''​
 +
 +===== Extraire la date d'une valeur date/heure =====
 +
 +Obtenir un objet **datetime.date** à partir d'un objet **datetime.datetime**
 +
 +<code python>
 +import datetime
 +
 +datetime.datetime.now()
 +# datetime.datetime(2020,​ 12, 17, 7, 11, 9, 23066)
 +
 +datetime.datetime.now().date
 +# datetime.date(2020,​ 12, 17)
 +</​code>​
  
 ===== Conversion de date/heure vers chaîne ===== ===== Conversion de date/heure vers chaîne =====
Ligne 26: Ligne 60:
 datetime.datetime.now().strftime("​%m/​%d/​%Y,​ %H:​%M:​%S"​) datetime.datetime.now().strftime("​%m/​%d/​%Y,​ %H:​%M:​%S"​)
 # '​12/​14/​2020,​ 06:​49:​17'​ # '​12/​14/​2020,​ 06:​49:​17'​
 +
 +datetime.datetime.now().strftime("​%Y%m%d-%H%M"​)
 +# '​20201412-0649'​
 </​code>​ </​code>​
  
Ligne 47: Ligne 84:
 datetime.datetime.strptime("​1971-04-22 08:​30:​25",​ "​%Y-%m-%d %H:​%M:​%S"​) 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(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)
 </​code>​ </​code>​
  
-Format **ISO 8601** :+Format **ISO 8601** ​:!: Python min **3.7** :!: :
  
 <code python> <code python>
Ligne 83: Ligne 126:
 => les variables ''​lastMonthStart''​ et ''​lastMonthDay''​ sont du type ''​datetime.date''​. => les variables ''​lastMonthStart''​ et ''​lastMonthDay''​ sont du type ''​datetime.date''​.
  
 +Dates de début et de fin du mois en cours :
 +
 +<code python>
 +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])
 +</​code>​
 +
 +=> Ces fonctions renvoient une valeur de type ''​datetime.date''​
 +
 +===== Numéro de semaine / Jour de la semaine =====
 +
 +==== Jour de la semaine ====
 +
 +<code python>
 +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'​))
 +</​code>​
 +
 +^ 0 | Monday ​   |
 +^ 1 | Tuesday ​  |
 +^ 2 | Wednesday |
 +^ 3 | Thursday ​ |
 +^ 4 | Friday ​   |
 +^ 5 | Saturday ​ |
 +^ 6 | Sunday ​   |
 +
 +==== Numéro de semaine ====
 +
 +<code python>
 +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'​))
 +</​code>​
 +
 +==== Isocalendar ====
 +
 +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 ​   |
 +
 +<code python>
 +import datetime
 +
 +today = datetime.date.today()
 +
 +i = today.isocalendar()
 +annee   = i.year
 +semaine = i.week
 +jour    = i.weekday
 +</​code>​
  
python/dates_et_heures.1607925620.txt.gz · Dernière modification: 2020/12/14 06:00 par marclebrun