Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Python

Date-heure Python

Dateheure Python

Dans cet article, vous apprendrez à manipuler la date et l'heure en Python à l'aide d'exemples.

Vidéo :Python datetime - Travailler avec les dates et les heures

Python a un module nommé datetime travailler avec des dates et des heures. Créons quelques programmes simples liés à la date et à l'heure avant de creuser plus profondément.

Exemple 1 :Obtenir la date et l'heure actuelles

import datetime

datetime_object = datetime.datetime.now()
print(datetime_object)

Lorsque vous exécutez le programme, la sortie sera quelque chose comme :

2018-12-19 09:26:03.478039

Ici, nous avons importé datetime module utilisant import datetime déclaration.

Une des classes définies dans le datetime le module est datetime classer. Nous avons ensuite utilisé now() méthode pour créer un datetime objet contenant la date et l'heure locales actuelles.

Exemple 2 :Obtenir la date actuelle


import datetime

date_object = datetime.date.today()
print(date_object)

Lorsque vous exécutez le programme, la sortie sera quelque chose comme :

2018-12-19

Dans ce programme, nous avons utilisé today() méthode définie dans le date classe pour obtenir un date objet contenant la date locale actuelle.

Qu'y a-t-il dans datetime ?

Nous pouvons utiliser la fonction dir() pour obtenir une liste contenant tous les attributs d'un module.

import datetime

print(dir(datetime))

Lorsque vous exécutez le programme, la sortie sera :


['MAXYEAR', 'MINYEAR', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_divide_and_round', 'date', 'datetime', 'datetime_CAPI', 'time', 'timedelta', 'timezone', 'tzinfo']

Les classes couramment utilisées dans le module datetime sont :

  • classe de rendez-vous
  • Classe horaire
  • Classe datetime
  • Classe timedelta

Classe datetime.date

Vous pouvez instancier date objets du date classer. Un objet date représente une date (année, mois et jour).

Exemple 3 :Objet date pour représenter une date


import datetime

d = datetime.date(2019, 4, 13)
print(d)

Lorsque vous exécutez le programme, la sortie sera :

2019-04-13

Si vous vous posez la question, date() dans l'exemple ci-dessus est un constructeur du date classer. Le constructeur prend trois arguments :année, mois et jour.

La variable a est un date objet.

Nous ne pouvons importer que date classe du datetime module. Voici comment :


from datetime import date

a = date(2019, 4, 13)
print(a)

Exemple 4 :Obtenir la date actuelle

Vous pouvez créer un date objet contenant la date actuelle à l'aide d'une méthode de classe nommée today() . Voici comment :


from datetime import date

today = date.today()

print("Current date =", today)

Exemple 5 :Obtenir la date à partir d'un horodatage

Nous pouvons également créer date objets à partir d'un horodatage. Un horodatage Unix est le nombre de secondes entre une date particulière et le 1er janvier 1970 à UTC. Vous pouvez convertir un horodatage en date en utilisant fromtimestamp() méthode.


from datetime import date

timestamp = date.fromtimestamp(1326244364)
print("Date =", timestamp)

Lorsque vous exécutez le programme, la sortie sera :

Date = 2012-01-11

Exemple 6 :Imprimer l'année, le mois et le jour du jour

Nous pouvons facilement obtenir l'année, le mois, le jour, le jour de la semaine, etc. à partir de l'objet date. Voici comment :


from datetime import date

# date object of today's date
today = date.today() 

print("Current year:", today.year)
print("Current month:", today.month)
print("Current day:", today.day)

dateheure.heure

Un objet temps instancié à partir du time classe représente l'heure locale.

Exemple 7 :Objet de temps pour représenter le temps


from datetime import time

# time(hour = 0, minute = 0, second = 0)
a = time()
print("a =", a)

# time(hour, minute and second)
b = time(11, 34, 56)
print("b =", b)

# time(hour, minute and second)
c = time(hour = 11, minute = 34, second = 56)
print("c =", c)

# time(hour, minute, second, microsecond)
d = time(11, 34, 56, 234566)
print("d =", d)

Lorsque vous exécutez le programme, la sortie sera :


a = 00:00:00
b = 11:34:56
c = 11:34:56
d = 11:34:56.234566

Exemple 8 :Imprimer l'heure, la minute, la seconde et la microseconde

Une fois que vous avez créé un time objet, vous pouvez facilement imprimer ses attributs tels que heure , minute etc.


from datetime import time

a = time(11, 34, 56)

print("hour =", a.hour)
print("minute =", a.minute)
print("second =", a.second)
print("microsecond =", a.microsecond)

Lorsque vous exécutez l'exemple, le résultat sera :


hour = 11
minute = 34
second = 56
microsecond = 0

Notez que nous n'avons pas dépassé microseconde dispute. D'où sa valeur par défaut 0 est imprimé.

dateheure.dateheure

Le datetime module a une classe nommée dateclass qui peut contenir des informations à la fois de date et temps objets.

Exemple 9 :Objet datetime Python


from datetime import datetime

#datetime(year, month, day)
a = datetime(2018, 11, 28)
print(a)

# datetime(year, month, day, hour, minute, second, microsecond)
b = datetime(2017, 11, 28, 23, 55, 59, 342380)
print(b)

Lorsque vous exécutez le programme, la sortie sera :


2018-11-28 00:00:00
2017-11-28 23:55:59.342380

Les trois premiers arguments année , mois et jour dans le datetime() constructeur sont obligatoires.

Exemple 10 :Imprimer l'année, le mois, l'heure, les minutes et l'horodatage


from datetime import datetime

a = datetime(2017, 11, 28, 23, 55, 59, 342380)
print("year =", a.year)
print("month =", a.month)
print("hour =", a.hour)
print("minute =", a.minute)
print("timestamp =", a.timestamp())

Lorsque vous exécutez le programme, la sortie sera :


year = 2017
month = 11
day = 28
hour = 23
minute = 55
timestamp = 1511913359.34238

datetime.timedelta

Un timedelta l'objet représente la différence entre deux dates ou heures.

Exemple 11 :Différence entre deux dates et heures


from datetime import datetime, date

t1 = date(year = 2018, month = 7, day = 12)
t2 = date(year = 2017, month = 12, day = 23)
t3 = t1 - t2
print("t3 =", t3)

t4 = datetime(year = 2018, month = 7, day = 12, hour = 7, minute = 9, second = 33)
t5 = datetime(year = 2019, month = 6, day = 10, hour = 5, minute = 55, second = 13)
t6 = t4 - t5
print("t6 =", t6)

print("type of t3 =", type(t3)) 
print("type of t6 =", type(t6))  

Lorsque vous exécutez le programme, la sortie sera :


t3 = 201 days, 0:00:00
t6 = -333 days, 1:14:20
type of t3 = <class 'datetime.timedelta'>
type of t6 = <class 'datetime.timedelta'>

Remarquez, les deux t3 et t6 sont de <class 'datetime.timedelta'> saisir.

Exemple 12 :Différence entre deux objets timedelta


from datetime import timedelta

t1 = timedelta(weeks = 2, days = 5, hours = 1, seconds = 33)
t2 = timedelta(days = 4, hours = 11, minutes = 4, seconds = 54)
t3 = t1 - t2

print("t3 =", t3)

Lorsque vous exécutez le programme, la sortie sera :


t3 = 14 days, 13:55:39

Ici, nous avons créé deux timedelta objets t1 et t2 , et leur différence est imprimée à l'écran.

Exemple 13 :impression d'un objet timedelta négatif


from datetime import timedelta

t1 = timedelta(seconds = 33)
t2 = timedelta(seconds = 54)
t3 = t1 - t2

print("t3 =", t3)
print("t3 =", abs(t3))

Lorsque vous exécutez le programme, la sortie sera :


t3 = -1 day, 23:59:39
t3 = 0:00:21

Exemple 14 :Durée en secondes

Vous pouvez obtenir le nombre total de secondes dans un objet timedelta en utilisant total_seconds() méthode.


from datetime import timedelta

t = timedelta(days = 5, hours = 1, seconds = 33, microseconds = 233423)
print("total seconds =", t.total_seconds())

Lorsque vous exécutez le programme, la sortie sera :


total seconds = 435633.233423

Vous pouvez également trouver la somme de deux dates et heures en utilisant + opérateur. De plus, vous pouvez multiplier et diviser un timedelta objet par entiers et flottants.

Dateheure au format Python

La façon dont la date et l'heure sont représentées peut être différente selon les lieux, les organisations, etc. Il est plus courant d'utiliser mm/dd/yyyy aux États-Unis, alors que dd/mm/yyyy est plus courant au Royaume-Uni.

Python a strftime() et strptime() méthodes pour gérer cela.

Python strftime() - objet datetime en chaîne

Le strftime() la méthode est définie sous les classes date , datetime et time . La méthode crée une chaîne formatée à partir d'un date donné , datetime ou time objet.

Exemple 15 :formater la date avec strftime()


from datetime import datetime

# current date and time
now = datetime.now()

t = now.strftime("%H:%M:%S")
print("time:", t)

s1 = now.strftime("%m/%d/%Y, %H:%M:%S")
# mm/dd/YY H:M:S format
print("s1:", s1)

s2 = now.strftime("%d/%m/%Y, %H:%M:%S")
# dd/mm/YY H:M:S format
print("s2:", s2)

Lorsque vous exécutez le programme, la sortie sera quelque chose comme :


time: 04:34:52
s1: 12/26/2018, 04:34:52
s2: 26/12/2018, 04:34:52

Ici, %Y , %m , %d , %H etc. sont des codes de format. Le strftime() prend un ou plusieurs codes de format et renvoie une chaîne formatée basée sur celui-ci.

Dans le programme ci-dessus, t , s1 et s2 sont des chaînes.

  • %Y - année [0001,..., 2018, 2019,..., 9999]
  • %m - mois [01, 02, ..., 11, 12]
  • %d - jour [01, 02, ..., 30, 31]
  • %H - heure [00, 01, ..., 22, 23
  • %M - minute [00, 01, ..., 58, 59]
  • %S - seconde [00, 01, ..., 58, 59]

Pour en savoir plus sur strftime() et les codes de format, visitez :Python strftime().

Python strptime() - chaîne à datetime

Le strptime() la méthode crée un datetime objet à partir d'une chaîne donnée (représentant la date et l'heure).

Exemple 16 :strptime()


from datetime import datetime

date_string = "21 June, 2018"
print("date_string =", date_string)

date_object = datetime.strptime(date_string, "%d %B, %Y")
print("date_object =", date_object)

Lorsque vous exécutez le programme, la sortie sera :


date_string = 21 June, 2018
date_object = 2018-06-21 00:00:00

Le strptime() la méthode prend deux arguments :

  1. une chaîne représentant la date et l'heure
  2. code de format équivalent au premier argument

Au fait, %d , %B et %Y les codes de format sont utilisés pour jour , mois (nom complet) et année respectivement.

Visitez Python strptime() pour en savoir plus.

Gérer le fuseau horaire en Python

Supposons que vous travaillez sur un projet et que vous devez afficher la date et l'heure en fonction de leur fuseau horaire. Plutôt que d'essayer de gérer vous-même le fuseau horaire, nous vous suggérons d'utiliser un module pytZ tiers.


from datetime import datetime
import pytz

local = datetime.now()
print("Local:", local.strftime("%m/%d/%Y, %H:%M:%S"))


tz_NY = pytz.timezone('America/New_York') 
datetime_NY = datetime.now(tz_NY)
print("NY:", datetime_NY.strftime("%m/%d/%Y, %H:%M:%S"))

tz_London = pytz.timezone('Europe/London')
datetime_London = datetime.now(tz_London)
print("London:", datetime_London.strftime("%m/%d/%Y, %H:%M:%S"))

Lorsque vous exécutez le programme, la sortie sera quelque chose comme :


Local time: 2018-12-20 13:10:44.260462
America/New_York time: 2018-12-20 13:10:44.260462
Europe/London time: 2018-12-20 13:10:44.260462	

Ici, datetime_NY et datetime_Londres sont des objets datetime contenant la date et l'heure actuelles de leur fuseau horaire respectif.


Python

  1. Types de données Python
  2. Opérateurs Python
  3. Instruction de passe Python
  4. Arguments de la fonction Python
  5. Dictionnaire Python
  6. Itérateurs Python
  7. Fermetures Python
  8. Comment obtenir la date et l'heure actuelles en Python ?
  9. Python Obtenir l'heure actuelle