Module Time en Python 3. Principales méthodes, modèles, exemples

Presque tous les programmes utilisent du temps. En Python, une bibliothèque distincte a été développée pour cela - fiableutilisé pour effectuer une variété d'actions avec elle. Pour que cela fonctionne, il faut d'abord le déclarer en début de code. Cette ligne est utilisée pour cela :

temps d'importation

Considérons différentes options sur la façon d'utiliser correctement ce module dans la pratique. 

Détermination du nombre de secondes depuis l'époque

Pour accomplir cette tâche, il existe une fonction fiable() qui ne prend aucun paramètre. Sa valeur de retour est le nombre de secondes écoulées depuis le 1er janvier 1970. En Python, ce temps est appelé le début d'une époque. Au moins dans les systèmes d'exploitation de la famille Unix.

Quant à Windows, la date est la même, mais il peut y avoir des problèmes avec des valeurs négatives antérieures à cette date. 

Le fuseau horaire utilisé est UTC.

temps d'importation

secondes = temps. temps()

print("Secondes depuis l'époque =", secondes)

La complexité de cette fonction est qu'elle n'affiche pas exactement la date, mais uniquement le nombre de secondes. Pour convertir au format familier à tout le monde, vous devez utiliser des informations précises. Pour cela, la fonction est utilisée temps.ctime().

Renvoyer la date, l'heure au format habituel

Pour retourner l'heure au format habituel, il existe une méthode temps.ctime(). Les parenthèses indiquent une variable ou un nombre indiquant le nombre de secondes qui se sont écoulées depuis le début de l'époque. Cette méthode renvoie toutes les caractéristiques de date et d'heure, y compris la date, l'année, le nombre d'heures, les minutes, les secondes et le jour de la semaine.

Cette fonction peut également être utilisée sans argument. Dans ce cas, il renvoie la date, l'heure, etc.

Voici un extrait de code qui le démontre.

temps d'importation

print(time.ctime())

mar 23 octobre 10:18:23 2018

La dernière ligne est ce qui est imprimé sur la console où l'interpréteur Python est en cours d'exécution. Le procédé formate automatiquement le nombre de secondes reçues sous une forme familière à l'utilisateur. Certes, tous les éléments décrits ci-dessus sont rarement utilisés. En règle générale, vous devez obtenir soit uniquement l'heure, soit uniquement la date du jour. Pour cela, une fonction distincte est utilisée - strftime(). Mais avant de le considérer, nous devons analyser la classe time.struct_time.

temps de classe.struct_time

Il s'agit d'une catégorie d'arguments qui peuvent être acceptés par une gamme de méthodes. Il n'a aucune option. C'est un tuple avec une interface nommée. En termes simples, les éléments de cette classe sont accessibles à la fois par leur nom et par leur numéro d'index.

Il se compose des attributs suivants.Module Time en Python 3. Principales méthodes, modèles, exemples

Attention! Contrairement à un certain nombre d'autres langages de programmation, ici le mois peut aller de 1 à 12, et non de zéro à 11.

Renvoyer un format spécifique

Utilisation de la fonction strftime() vous pouvez obtenir l'année, le mois, le jour, l'heure, les minutes, les secondes individuellement et les renvoyer à une chaîne de texte. Ensuite, il peut être imprimé à l'utilisateur en utilisant la fonction imprimer () ou autrement traitées.

En argument, une fonction peut prendre n'importe quelle variable qui prend une valeur retournée par d'autres fonctions de ce module. Par exemple, vous pouvez lui transférer l'heure locale (cela sera discuté plus tard), à partir duquel il extraira les données nécessaires.

Voici l'extrait de code où nous le faisons.

temps d'importation

named_tuple = time.localtime() # obtenir struct_time

time_string = time.strftime(«%m/%d/%Y, %H:%M:%S», nommé_tuple)

impression(chaîne_heure)

Si vous exécutez ce code, la date et l'heure actuelles seront affichées. Le format et la séquence des éléments peuvent être modifiés. Ils sont les suivants :

  1. %Y est l'année.
  2. %m est le mois.
  3. %d – jour.
  4. %H – temps.
  5. %M – minutes.
  6. %S – seconde.

En conséquence, vous pouvez faire en sorte que la sortie soit exclusivement du mois et du jour. Pour ce faire, vous n'avez simplement pas besoin de donner une commande pour afficher l'année. Autrement dit, écrivez dans la formule ci-dessus comme argument %m/%d, et c'est tout. Ou vice versa, %d/%m. 

En fait, le nombre de littéraux de chaîne est beaucoup plus grand. Voici un tableau où ils sont décrits en détail.Module Time en Python 3. Principales méthodes, modèles, exemples

Reporter un fil pendant un certain nombre de secondes

Pour cela, la fonction est utilisée dormir (). Un bloc assez important de tâches de programmation est associé au passage du temps. Parfois, vous devez reporter l'étape suivante pendant un certain temps. Par exemple, si vous devez interagir avec une base de données dont le traitement prend un certain temps.

Comme argument, la méthode utilise une valeur qui exprime le nombre de secondes pour retarder l'étape suivante de l'algorithme.

Par exemple, dans cet extrait, le délai est de 10 secondes.

temps d'importation

arrêt = 10

print(«Programme démarré…»)

time.sleep (pause)

print(str(pause) + » secondes écoulées. »)

En conséquence, nous obtiendrons ceci :

Le programme a commencé…

10 secondes se sont écoulées.

Comme nous pouvons le voir sur la sortie, le programme signale d'abord qu'il a démarré. Et au bout de dix secondes, elle écrivit que ce temps était passé.

La fonction vous permet de spécifier la durée de la pause en millisecondes. Pour ce faire, nous utilisons des valeurs fractionnaires de l'argument de la fonction dormir. Par exemple, 0,1. Cela signifie que le délai sera de 100 millisecondes.

Obtenir l'heure locale

En utilisant la fonction localtime(), le programme obtient le nombre de secondes depuis le début de l'époque dans un fuseau horaire spécifique. 

Donnons un exemple de code pour plus de clarté.

temps d'importation

résultat = heure. heure locale (1575721830)

print("résultat :", résultat)

print("nгод:", result.tm_year)

print(«tm_hour:», résultat.tm_hour)

Renvoie struct_time en UTC en fonction du nombre de secondes depuis l'époque

Cette tâche est réalisée à l'aide de time.gmtime(). méthode. Ce sera plus clair si nous donnons un exemple.

temps d'importation

résultat = temps.gmtime(1575721830)

print("résultat :", résultat)

print("nгод:", result.tm_year)

print(«tm_hour:», résultat.tm_hour)

Si vous activez cette séquence d'actions, un ensemble d'éléments liés à l'heure, à l'année et au fuseau horaire s'affichera.

Renvoie le nombre de secondes depuis le début de l'époque avec conversion automatique en heure locale

Si vous êtes confronté à une telle tâche, elle est mise en œuvre à l'aide de la méthode mktime (), qui prend struct_time. Après cela, il effectue l'action inverse de la fonction heure locale(). C'est-à-dire qu'il convertit l'heure selon le fuseau horaire local en nombre de secondes écoulées depuis le début de l'époque, ajusté pour le fuseau horaire.

Les fonctions mktime() et localtime() sont étroitement liées. Cet extrait de code le démontre clairement. Examinons-le pour comprendre plus en profondeur son fonctionnement. 

temps d'importation

secondes = 1575721830

# renvoie struct_time

t = time.localtime(secondes)

print("t1: ", t)

# renvoie les secondes de struct_time

s = temps.mktime(t)

print(«ns:», secondes)

On voit que la variable secondes a été attribué 1575721830 secondes depuis l'époque. Tout d'abord, le programme obtient la date exacte, l'heure et d'autres paramètres, en fonction de cette valeur, placez-le dans une variable t, puis convertit son contenu en une variable s.

Après cela bat une nouvelle ligne et affiche le nombre de secondes dans la console. Vous pouvez vérifier que ce sera le même numéro qui a été attribué à la variable des secondes.

Date de sortie à partir de 9 chiffres faisant référence à struct_time

Supposons que nous ayons 9 chiffres représentant l'année, le mois, la date, le jour de la semaine et un certain nombre d'autres valeurs, et que nous devions les combiner en une seule chaîne. Pour cela, la fonction est utilisée heureasc(). Elle accepte ou prête struct_time, ou tout autre tuple de 9 valeurs qui signifie la même chose. Après cela, une chaîne est renvoyée, qui est une date, une heure et un certain nombre d'autres paramètres. 

Il est très pratique d'utiliser cette méthode pour regrouper des données disparates spécifiées par l'utilisateur dans une seule variable..

Par exemple, il peut s'agir d'un programme dans lequel l'utilisateur spécifie séparément le jour, le mois, l'année, le jour de la semaine et d'autres données concernant l'inscription à un événement. Après cela, les informations reçues sont entrées dans la base de données puis transmises à une autre personne qui en fait la demande.

Obtenir l'heure et la date en fonction de la chaîne Python

Supposons que l'utilisateur ait spécifié des données disparates et que nous devions les combiner en une seule ligne dans le format que la personne a entré, puis en faire une copie dans une autre variable et la reconstruire dans un format standard. Pour cela, la fonction est utilisée time.strptime().

Il prend une variable dans laquelle cette valeur est spécifiée et renvoie le déjà familier pour nous struct_time.

Pour plus de clarté, nous allons écrire un tel programme.

temps d'importation

time_string = « 15 juin 2019 »

result = time.strptime(time_string, "%d %B, %Y")

imprimer (résultat)

Devinez quelle sera la sortie? Essayez de deviner sans regarder la ligne du bas. Et puis vérifiez la réponse.

time.struct_time(tm_year=2019, tm_mon=6, tm_mday=15, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=166, tm_isdst=-1)

En un mot, travailler avec des dates et des heures en Python n'est pas difficile du tout. Il suffit de suivre ces instructions et tout ira bien. Utilisation de la bibliothèque fiable l'utilisateur dispose d'un grand nombre d'opportunités pour travailler avec le temps, telles que :

  1. Suspend l'exécution du programme pendant une durée spécifiée.
  2. Affiche le temps qui s'est écoulé depuis l'époque, en secondes. Ces informations peuvent être utilisées pour résumer le temps ou effectuer d'autres opérations mathématiques sur celui-ci.
  3. Convertir en un format pratique. De plus, le programmeur lui-même peut définir quels éléments seront affichés et dans quel ordre. 

Il existe également un certain nombre d'autres possibilités, mais aujourd'hui, nous avons analysé les plus élémentaires. Ils seront utiles dans presque tous les programmes qui fonctionnent d'une manière ou d'une autre avec le temps. Bonne chance.

Soyez sympa! Laissez un commentaire