Python DateHeure, HeureDelta, Strftime(Format) avec exemples
Les classes datetime dans Python sont classรฉs en 5 classes 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 โ Une classe abstraite pour gรฉrer les 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 qui vous permet 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 Python. Nous n'รฉcrivons pas le code de cette fonctionnalitรฉ de date, hรฉlas, nous l'importons simplement pour notre usage
ร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 comme prรฉvu.
Imprimer la date en utilisant date.today()
date.today La fonction a plusieurs propriรฉtรฉs qui lui sont associรฉes. Nous pouvons imprimer un jour/mois/annรฉe individuel et bien d'autres choses
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 semaine qui commence par Monday ร 0 et dimanche ร 6 heures
| 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.
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 horaire.
Supposons que nous souhaitions imprimer 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 pouvez donc voir qu'ici, j'ai la date et l'heure. Et puis la ligne suivante, j'ai juste le temps tout seul
รtape 3) Nous appliquerons notre indexeur de jours de semaine ร notre arrayList de jours de semaine pour savoir quel jour nous sommes aujourd'hui.
- L'opรฉrateur des jours de la semaine (wd) se voit attribuer le numรฉro de (0 ร 6) en fonction du jour de la semaine en cours. Ici, nous avons dรฉclarรฉ le tableau de la liste par jours (lundi, mardi, mercrediโฆ dimanche).
- 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()
ร partir de maintenant, nous avons appris comment utiliser 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 ressemble ร diffรฉrents paramรจtres comme 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 peut dรฉclarer la date, le jour, le mois et l'annรฉe sรฉparรฉment. De plus, avec de petites modifications dans le code de contrรดle dans la fonction strftime, vous pouvez formater le style du texte.
Dans la fonction strftime, si vous remplacez (%a) par un A majuscule, c'est-ร -dire (%A), la sortie s'imprimera sous la forme ยซ Firday ยป au lieu d'une simple 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 est un objet qui reprรฉsente la durรฉe. Il est principalement utilisรฉ pour calculer la durรฉe entre deux dates et heures. Il est รฉgalement utilisรฉ pour rรฉcupรฉrer l'objet avec une date et une heure delta. L'objet timedelta prend en charge les opรฉrations mathรฉmatiques telles que les additions, soustractions, 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 un 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
- if nyd < aujourd'hui : compare si la date actuelle est supรฉrieure ร la nouvelle annรฉe. Si oui, il entre dans la boucle while
- ((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
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)
Rรฉsumรฉ
Pour manipuler les dates et les heures de maniรจre simple et complexe, le module datetime fournit diffรฉrentes classes ou catรฉgories comme
- 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 โ Une classe abstraite pour gรฉrer les fuseaux horaires
Utiliser des objets datetime
- L'importation d'objets datetime avant d'exรฉcuter le code est obligatoire
- Utilisation de la fonction date.today pour imprimer la date/mois/annรฉe individuelle ainsi que l'indexation du jour
- Utilisation de l'objet date.time pour obtenir l'heure en heures, minutes, secondes et millisecondes
Formatage du dรฉlai d'attente avec la ยซ fonction str f time ยป
- Utilisez ยซ fonction str f time ยป pour changer le format de l'annรฉe
- Imprimer le jour, la date, le mois et l'annรฉe sรฉparรฉment,
- Temps d'appel pour tout format 12h ou 24h
Objets Timedelta
- Avec les objets timedelta, vous pouvez estimer l'heure du futur et du passรฉ
- Calculez le nombre total de jours restants pour le jour spรฉcial (anniversaire) ร partir de l'heure actuelle
- Calculez le nombre total de jours รฉcoulรฉs pour un jour spรฉcial (anniversaire) ร partir de l'heure actuelle



















