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.
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.
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
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.
Étape 2) Ensuite, nous créons une instance de l'objet date.
Étape 3) Ensuite, nous imprimons la date et exécutons le code.
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.
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.
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".
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.
- 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
É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.
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 ».
É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.
- %C- indique la date et l'heure locales
- %x- indique la date locale
- %X- indique l'heure locale
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.
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
- Écrire une instruction d'importation pour timedelta
- Maintenant, écrivez le code pour imprimer l'objet à partir du delta de temps, comme indiqué dans la capture d'écran.
- 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
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.
É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.
É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
É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
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)




















