Python DateHeure, HeureDelta, Strftime(Format) avec exemples

โšก Rรฉsumรฉ intelligent

Python Le module datetime, tout comme les classes date, time et timedelta, manipule les dates, les heures et les intervalles sous forme d'objets. Il formate les rรฉsultats avec la fonction strftime(), analyse les chaรฎnes de caractรจres et calcule les instants futurs ou passรฉs ร  l'aide de l'arithmรฉtique timedelta.

  • (I.e. Cinq classes : Le module datetime regroupe les classes date, time, datetime, timedelta et tzinfo pour la gestion des dates et des heures.
  • โ˜‘๏ธ Valeurs actuelles : datetime.now() et date.today() renvoient la date et l'heure actuelles, y compris le numรฉro du jour de la semaine.
  • โœ… Mise en page: La fonction strftime() transforme une date et une heure en texte lisible ร  l'aide de codes de contrรดle tels que %Y, %A et %H.
  • ๐Ÿงช Timedelta : Un objet timedelta mesure une durรฉe et prรฉdit des dates futures ou passรฉes par addition et soustraction.traction.
  • ๏ธ Directives: Les mรชmes codes de contrรดle pilotent strftime() pour la sortie et strptime() pour la lecture d'une chaรฎne de caractรจres dans un objet datetime.
  • ๐Ÿค– Flux de travail d'IA : Les pipelines d'apprentissage automatique extraient des caractรฉristiques de date et d'heure telles que le jour de la semaine et l'heure pour les modรจles de sรฉries temporelles.

Python DateTime

In Python, date, heure et dateheure Les classes offrent un certain nombre de fonctions pour gรฉrer les dates, les heures et les intervalles de temps. Date et datetime dans Python Ce sont des objets ; par consรฉquent, lorsque vous les manipulez, vous manipulez en rรฉalitรฉ des objets et non des chaรฎnes de caractรจres ou des horodatages. Pour manipuler des dates ou des heures, vous devez importer le module `datetime`.

Les classes datetime dans Python sont classรฉes en 5 catรฉgories principales.

  • date โ€“ Manipuler uniquement la date (mois, jour, annรฉe)
  • time โ€“ Heure indรฉpendante du jour (Heure, minute, seconde, microseconde)
  • datetime โ€“ Combinaison de l'heure et de la date (mois, jour, annรฉe, heure, seconde, microseconde)
  • timedeltaโ€” Une durรฉe utilisรฉe pour manipuler les dates
  • tzinfoโ€” Un abstracclasse t pour la gestion des fuseaux horaires

Comment utiliser la classe Date et DateTime

ร‰tape 1) Avant d'exรฉcuter le code pour le format datetime dans Python, il est important d'importer le Python modules date/heure comme indiquรฉ dans la capture d'รฉcran ci-dessous.

Utiliser la classe Date et DateTime

Ces instructions d'importation sont des fonctionnalitรฉs prรฉdรฉfinies dans le Python Bibliothรจque permettant de manipuler les dates et les heures sans รฉcrire de code.

Tenez compte des points suivants avant dโ€™exรฉcuter le Python code de format date/heure

from datetime import date

Cette ligne indique le Python interprรจte pour importer la classe de date du module datetime dans PythonNous n'รฉcrivons pas le code de cette fonctionnalitรฉ de gestion des dates, nous l'importons simplement pour notre usage.

Imprimer la date en utilisant date.today()

La fonction date.today() possรจde plusieurs propriรฉtรฉs. Elle permet d'afficher le jour, le mois, l'annรฉe et bien d'autres informations.

Voyons voir un exemple

Imprimer la date en utilisant date.today()

Numรฉro du jour de la semaine d'aujourd'hui

La fonction date.today() vous donne รฉgalement le numรฉro du jour de la semaine. Voici le tableau des jours de la semaine qui commence par Monday comme 0 et dimanche comme 6.

Jour Numรฉro du jour de la semaine
Monday 0
Mardi 1
Mercredi 2
Jeudi 3
Vendredi 4
Samedi 5
Dimanche 6

Weekday Number est utile pour les tableaux dont l'index dรฉpend du jour de la semaine.

Imprimer la date en utilisant date.today()

ร‰tape 2) Ensuite, nous crรฉons une instance de l'objet date.

Utiliser la classe Date et DateTime

ร‰tape 3) Ensuite, nous imprimons la date et exรฉcutons le code.

Utiliser la classe Date et DateTime

Le rรฉsultat est conforme aux attentes.

Python Date et heure actuelles : now() aujourd'hui()

ร‰tape 1) Comme les objets Date, nous pouvons รฉgalement utiliser ยซ OBJETS DATE-HEURE ยป in Python. Python les objets date et heure donnent la date avec l'heure dans heures, minutes, secondes et millisecondes.

Python Date et heure actuelles

Lorsque nous exรฉcutons le code pour datetime, il donne la sortie avec la date et l'heure actuelles.

ร‰tape 2) Avec ยซ DATETIME OBJECT ยป, vous pouvez รฉgalement appeler la classe Time. Supposons que nous voulions afficher uniquement lโ€™heure actuelle, sans la date.

t = datetime.time(datetime.now())
  • Nous avions importรฉ la classe temporelle. Nous allons lui attribuer la valeur actuelle du temps en utilisant datetime.now()
  • Nous attribuons la valeur de l'heure actuelle ร  la variable t.

Et cela me donnera juste le temps. Alors exรฉcutons ce programme.

Python Date et heure actuelles

D'accord, vous voyez donc qu'ici j'ai la date et l'heure. Et sur la ligne suivante, j'ai juste l'heure.

ร‰tape 3) Nous allons appliquer notre indexeur de jours de la semaine ร  notre liste de jours de la semaine pour savoir quel jour est aujourd'hui.

  • L'opรฉrateur weekdays (wd) se voit attribuer un numรฉro (de 0 ร  6) en fonction du jour de la semaine. Ici, nous avons dรฉclarรฉ le tableau contenant la liste des jours (lun., mar., mer., dim.).
  • Utilisez cette valeur dโ€™index pour savoir de quel jour nous sommes. Dans notre cas, il s'agit du numรฉro 2 et il reprรฉsente le mercredi. Le rรฉsultat affichera donc "Quel est un mercredi".

Python Date et heure actuelles

Voici le code complet pour obtenir la date et l'heure actuelles en utilisant datetime maintenant

from datetime import date
from datetime import time
from datetime import datetime
def main():
    ##DATETIME OBJECTS
    #Get today's date from datetime class
    today=datetime.now()
    #print (today)
    # Get the current time
    #t = datetime.time(datetime.now())
    #print "The current time is", t
    #weekday returns 0 (monday) through 6 (sunday)
    wd=date.weekday(today)
    #Days start at 0 for monday
    days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"]
    print("Today is day number %d" % wd)
    print("which is a " + days[wd])

if __name__== "__main__":
    main()

Comment formater la sortie de date et d'heure avec Strftime()

Jusqu'ร  prรฉsent, nous avons appris ร  utiliser les objets datetime et date. objet dans Python. Nous allons aller plus loin et apprendre ร  utiliser une fonction de formatage pour formater l'heure et la date.

ร‰tape 1) Nous verrons dโ€™abord une รฉtape simple pour formater lโ€™annรฉe. Il vaut mieux comprendre avec un exemple.

Formater la sortie de date et d'heure avec Strftime()

  • Nous avons utilisรฉ le ยซ Fonction strftime ยป pour le formatage.
  • Cette fonction utilise diffรฉrents code de contrรดle pour donner une sortie.
  • Chaque code de contrรดle correspond ร  diffรฉrents paramรจtres tels que l'annรฉe, le mois, le jour de la semaine et la date. [(%y/%Y โ€“ Annรฉe), (%a/%A- semaine), (%b/%B- mois), (%d โ€“ jour du mois)] .
  • Dans notre cas, c'est (ยซ %Y ยป) qui ressemble ร  l'annรฉe, il imprime l'annรฉe complรจte avec le siรจcle (par exemple, 2018).

ร‰tape 2) Maintenant, si vous remplacez (ยซ %Y ยป par des minuscules, c'est-ร -dire (ยซ %y) et exรฉcutez le code, la sortie affichera uniquement (18) et non (2018). Le siรจcle de l'annรฉe ne s'affichera pas comme indiquรฉ dans la capture d'รฉcran ci-dessous

Formater la sortie de date et d'heure avec Strftime()

ร‰tape 3) La fonction strf permet de dรฉclarer sรฉparรฉment la date, le jour, le mois et l'annรฉe. De plus, en modifiant lรฉgรจrement le code de contrรดle de la fonction strftime, il est possible de formater le texte.

Formater la sortie de date et d'heure avec Strftime()

Dans la fonction strftime, si vous remplacez (%a) par un A majuscule, c'est-ร -dire (%A), la sortie s'affichera comme ยซ Friday ยป au lieu de simplement l'abrรฉviation ยซ Fri ยป.

Formater la sortie de date et d'heure avec Strftime()

ร‰tape 4) Avec l'aide de la fonction ยซ Strftime ยป, nous pouvons รฉgalement rรฉcupรฉrer l'heure, la date ou les deux du systรจme local.

  1. %C- indique la date et l'heure locales
  2. %x- indique la date locale
  3. %X- indique l'heure locale

Formater la sortie de date et d'heure avec Strftime()

Dans la sortie, vous pouvez voir le rรฉsultat comme prรฉvu

ร‰tape 5) La ยซ fonction strftime ยป vous permet d'appeler l'heure dans n'importe quel format 24 heures ou 12 heures.

Formater la sortie de date et d'heure avec Strftime()

Juste en dรฉfinissant un code de contrรดle comme %I/H pour heure, % M pour minute, %S pour seconde, on peut appeler l'heure pour diffรฉrents formats

de 12 heures l'heure est dรฉclarรฉe [print now.strftime("%I:%M:%S %p) ]

de 24 heures l'heure est dรฉclarรฉe [imprimer maintenant.strftime("%H:%M")]

Voici le code complet pour convertir datetime en objet String.

#
#Example file for formatting time and date output
#
from datetime import datetime
def main():
   #Times and dates can be formatted using a set of predefined string
   #Control codes
      now= datetime.now() #get the current date and time
      #%c - local date and time, %x-local's date, %X- local's time
      print(now.strftime("%c"))
      print(now.strftime("%x"))
      print(now.strftime("%X"))
##### Time Formatting ####
      #%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM
      print(now.strftime("%I:%M:%S %p")) # 12-Hour:Minute:Second:AM
      print(now.strftime("%H:%M")) # 24-Hour:Minute

if __name__== "__main__":
    main()

Qu'est-ce que Timedelta dans Python?

Timedelta dans Python L'objet timedelta reprรฉsente une durรฉe. Il est principalement utilisรฉ pour calculer la durรฉe entre deux dates et heures. Il permet รฉgalement de rรฉcupรฉrer un objet avec un dรฉcalage temporel (delta). L'objet timedelta prend en charge les opรฉrations mathรฉmatiques telles que les additions et les soustractions.tractions, multiplication, division, etc.

Comment utiliser les objets Timedelta

Avec Python Avec les objets timedelta, vous pouvez estimer le temps pour le futur et le passรฉ. En dโ€™autres termes, il sโ€™agit dโ€™un intervalle de temps permettant de prรฉdire un jour, une date ou une heure particuliรจre.

N'oubliez pas que cette fonction ne sert pas ร  imprimer l'heure ou la date, mais ร  CALCULER le futur ou le passรฉ.Voyons voirโ€ฆ Python Exemple de timedelta pour mieux le comprendre.

ร‰tape 1) Pour exรฉcuter des objets Timedelta, vous devez d'abord dรฉclarer l'instruction d'importation, puis exรฉcuter le code

  1. ร‰crire une instruction d'importation pour timedelta
  2. Maintenant, รฉcrivez le code pour imprimer l'objet ร  partir du delta de temps, comme indiquรฉ dans la capture d'รฉcran.
  3. Exรฉcutez le code. Le timedelta reprรฉsente une pรฉriode de 365 jours, 8 heures et 15 minutes et imprime la mรชme chose

Objets Timedelta

Dรฉroutant? La prochaine รฉtape aidera-

ร‰tape 2) Obtenons la date et l'heure d'aujourd'hui pour vรฉrifier si notre dรฉclaration d'importation fonctionne bien. Lorsque le code est exรฉcutรฉ, il affiche la date du jour, ce qui signifie que notre instruction d'importation fonctionne bien.

Objets Timedelta

ร‰tape 3) Nous verrons comment nous pouvons rรฉcupรฉrer la date dans un an via des objets delta. Lorsque nous exรฉcutons le code, il donne le rรฉsultat comme prรฉvu.

Objets Timedelta

ร‰tape 4) Un autre exemple de la faรงon dont le delta temporel peut รชtre utilisรฉ pour calculer la date future ร  partir de la date et de l'heure actuelles

Objets Timedelta

ร‰tape 5) Examinons un exemple plus complexe. Je voudrais dรฉterminer combien de jours aprรจs le Nouvel An. Voici comment nous procรฉderons

  • En utilisant Today=date.today(), nous obtiendrons la date d'aujourd'hui
  • Nous savons que le nouvel an tombe toujours le 1er janvier, mais l'annรฉe peut รชtre diffรฉrente. En utilisant nyd= date(today.year,1,1), nous stockons la nouvelle annรฉe dans la variable nyd
  • Si nyd < aujourd'hui : compare si la date actuelle est postรฉrieure au nouvel an. Si oui, entre dans la boucle tant que
  • ((today-nyd).days) donne la diffรฉrence entre une date actuelle et la nouvelle annรฉe en JOURS

Objets Timedelta

Le rรฉsultat montre que ยซ Le jour de lโ€™An est dรฉjร  passรฉ il y a 11 jours ยป.

Voici le code de travail complet

#
# Example file for working with timedelta objects
#
from datetime import date
from datetime import time
from datetime import datetime
from datetime import timedelta

# construct a basic timedelta and print it
print (timedelta(days=365, hours=8, minutes=15))
# print today's date
print ("today is: " + str(datetime.now()))
# print today's date one year from now
print ("one year from now it will be:" + str(datetime.now() + timedelta(days=365)))
# create a timedelta that uses more than one argument
# print (in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4)))
# How many days until New Year's Day?
today = date.today()  # get todays date
nyd = date(today.year, 1, 1)  # get New Year Day for the same year
# use date comparison to see if New Year Day has already gone for this year
# if it has, use the replace() function to get the date for next year
if nyd < today:
    print ("New Year day is already went by %d days ago" % ((today - nyd).days))

Python 2 Exemple

Les exemples suivants illustrent les mรชmes opรฉrations de date et d'heure รฉcrites pour Python 2, oรน print est une instruction plutรดt qu'une fonction. Utilisez ces versions uniquement pour la maintenance d'un systรจme existant. Python 2 codes.

from datetime import date
from datetime import time
from datetime import datetime
def main():
 	##DATETIME OBJECTS
    #Get today's date from datetime class
	today=datetime.now()
	#print today
	# Get the current time
	#t = datetime.time(datetime.now())
	#print "The current time is", t
	#weekday returns 0 (monday) through 6 (sunday)
        wd = date.weekday(today)
	#Days start at 0 for monday
        days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"]
        print "Today is day number %d" % wd
        print "which is a " + days[wd]

if __name__== "__main__":
    main()
#
#Example file for formatting time and date output
#
from datetime import datetime
def main():
   #Times and dates can be formatted using a set of predefined string
   #Control codes
      now= datetime.now() #get the current date and time
      #%c - local date and time, %x-local's date, %X- local's time
      print now.strftime("%c")
      print now.strftime("%x")
      print now.strftime("%X")
##### Time Formatting ####   
      #%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM
      print now.strftime("%I:%M:%S %p") # 12-Hour:Minute:Second:AM
      print now.strftime("%H:%M") # 24-Hour:Minute   

if __name__== "__main__":
    main()
#
# Example file for working with timedelta objects
#
from datetime import date
from datetime import time
from datetime import datetime
from datetime import timedelta

# construct a basic timedelta and print it
print timedelta(days=365, hours=8, minutes=15)
# print today's date
print "today is: " + str(datetime.now())
# print today's date one year from now
print "one year from now it will be:" + str(datetime.now() + timedelta(days=365))
# create a timedelta that uses more than one argument
# print "in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4))
# How many days until New Year's Day?
today = date.today()  # get todays date
nyd = date(today.year, 1, 1)  # get New Year Day for the same year
# use date comparison to see if New Year Day has already gone for this year
# if it has, use the replace() function to get the date for next year
if nyd < today:
    print "New Year day is already went by %d days ago" % ((today - nyd).days)

FAQ

Utilisez `datetime.strptime(text, format)` pour convertir une chaรฎne de caractรจres en un objet datetime. Utilisez les mรชmes directives que `strftime()`, de sorte que ยซ 2018-06-29 ยป devienne ยซ %Y-%m-%d ยป. Fonction inverse de `strftime()`, `strptime()` reconvertit un texte lisible en une date et heure exploitable.

Une date et heure sans tzinfo est naรฏve ; lโ€™ajout dโ€™un fuseau horaire la rend fonctionnelle. Utilisez le module zoneinfo intรฉgrรฉ (Python 3.9+) ou le package pytz pour localiser les dates et heures, puis convertir entre les fuseaux horaires afin que les calculs restent corrects dans toutes les rรฉgions.

Appelez la mรฉthode `timestamp()` sur un objet `datetime` pour obtenir le nombre de secondes รฉcoulรฉes depuis l'รฉpoque Unix (sous forme de nombre flottant), par exemple `datetime.now().timestamp()`. Dans l'autre sens, `datetime.fromtimestamp(value)` reconstruit un objet `datetime` ร  partir d'un timestamp Unix.

Les deux fonctions renvoient la date et l'heure locales actuelles, mais `datetime.now()` accepte un argument de fuseau horaire optionnel, contrairement ร  `datetime.today()`. Pour un code prenant en compte les fuseaux horaires, privilรฉgiez `datetime.now(tz)` afin que le rรฉsultat intรจgre le dรฉcalage horaire correct.

Oui. Le module de date et d'heure est fourni avec PythonAucune installation via pip n'est donc nรฉcessaire. Importez-la avec ยซ from datetime import datetime, date, time, timedelta ยป et les classes date, time, datetime, timedelta et tzinfo seront immรฉdiatement disponibles.

Appelez la mรฉthode isoformat() pour obtenir une chaรฎne de caractรจres au format ISO 8601, par exemple ยซ 2018-06-29T08:15:27 ยป. Pour un objet date, elle renvoie ยซ AAAA-MM-JJ ยป. Contrairement ร  strftime(), qui construit des mises en page personnalisรฉes ร  partir de directives, isoformat() ne nรฉcessite aucun code de contrรดle.

Les pipelines d'apprentissage automatique transforment les horodatages bruts en caractรฉristiques telles que le jour de la semaine, l'heure, le mois et le temps รฉcoulรฉ grรขce aux fonctions datetime et timedelta. Ces caractรฉristiques de date ainsi structurรฉes aident les modรจles de sรฉries temporelles et les systรจmes de prรฉvision par IA ร  dรฉtecter les tendances saisonniรจres et cycliques.

Oui. GitHub Copilot et les assistants IA d'agentic gรฉnรจrent des chaรฎnes de format strftime(), effectuent des calculs de timedelta et des conversions de fuseaux horaires ร  partir d'un court commentaire, et peuvent expliquer les directives complexes. Il est toujours conseillรฉ d'exรฉcuter le code suggรฉrรฉ, car la gestion des dates et des dรฉcalages est souvent source d'erreurs.

Rรฉsumez cet article avec :