Python - Date et heure
Page PrécédentePage Suivante
Un programme Python peut gérer la date et l'heure de plusieurs manières. La conversion entre les formats de date est une corvée courante pour les ordinateurs. Les modules de temps et de calendrier de Python aident à suivre les dates et les heures.
Qu'est-ce que la tique ?
Les intervalles de temps sont des nombres à virgule flottante en unités de secondes. Les instants particuliers dans le temps sont exprimés en secondes depuis 00:00:00 h le 1er janvier 1970 (époque).
Il y a un moment populaire module disponible en Python qui fournit des fonctions pour travailler avec les temps et pour convertir entre les représentations. La fonction time.time() renvoie l'heure système actuelle en ticks depuis 00:00:00 h le 1er janvier 1970 (époque).
Exemple
Démo en direct#!/usr/bin/python import time; # This is required to include time module. ticks = time.time() print "Number of ticks since 12:00am, January 1, 1970:", ticks
Cela produirait un résultat comme suit −
Number of ticks since 12:00am, January 1, 1970: 7186862.73399
L'arithmétique des dates est facile à faire avec les ticks. Cependant, les dates antérieures à l'époque ne peuvent pas être représentées sous cette forme. Les dates dans un futur lointain ne peuvent pas non plus être représentées de cette façon - le point limite est quelque part en 2038 pour UNIX et Windows.
Qu'est-ce que TimeTuple ?
De nombreuses fonctions temporelles de Python gèrent le temps comme un tuple de 9 nombres, comme indiqué ci-dessous −
Index | Champ | Valeurs |
---|---|---|
0 | Année à 4 chiffres | 2008 |
1 | Mois | 1 à 12 |
2 | Jour | 1 à 31 |
3 | Heure | 0 à 23 |
4 | Minute | 0 à 59 |
5 | Deuxième | 0 à 61 (60 ou 61 sont des secondes intercalaires) |
6 | Jour de la semaine | 0 à 6 (0 est lundi) |
7 | Jour de l'année | 1 à 366 (jour julien) |
8 | Heure d'été | -1, 0, 1, -1 signifie que la bibliothèque détermine l'heure d'été |
Le tuple ci-dessus est équivalent à struct_time structure. Cette structure a les attributs suivants −
Index | Attributs | Valeurs |
---|---|---|
0 | tm_year | 2008 |
1 | tm_mon | 1 à 12 |
2 | tm_mday | 1 à 31 |
3 | tm_hour | 0 à 23 |
4 | tm_min | 0 à 59 |
5 | tm_sec | 0 à 61 (60 ou 61 sont des secondes intercalaires) |
6 | tm_wday | 0 à 6 (0 est lundi) |
7 | tm_yday | 1 à 366 (jour julien) |
8 | tm_isdst | -1, 0, 1, -1 signifie que la bibliothèque détermine l'heure d'été |
Obtenir l'heure actuelle
Pour traduire un instant de temps à partir de secondes depuis l'époque valeur à virgule flottante dans un tuple temporel, passez la valeur à virgule flottante à une fonction (par exemple, localtime) qui renvoie un tuple temporel avec les neuf éléments valides.
Démo en direct#!/usr/bin/python import time; localtime = time.localtime(time.time()) print "Local current time :", localtime
Cela produirait le résultat suivant, qui pourrait être formaté sous n'importe quelle autre forme présentable −
Local current time : time.struct_time(tm_year=2013, tm_mon=7, tm_mday=17, tm_hour=21, tm_min=26, tm_sec=3, tm_wday=2, tm_yday=198, tm_isdst=0)
Obtenir l'heure formatée
Vous pouvez formater à tout moment selon vos besoins, mais une méthode simple pour obtenir l'heure dans un format lisible est asctime() −
Démo en direct#!/usr/bin/python import time; localtime = time.asctime( time.localtime(time.time()) ) print "Local current time :", localtime
Cela produirait le résultat suivant −
Local current time : Tue Jan 13 10:17:09 2009
Obtenir un calendrier pour un mois
Le module de calendrier offre un large éventail de méthodes pour jouer avec les calendriers annuels et mensuels. Ici, on imprime un calendrier pour un mois donné ( Jan 2008 ) −
Démo en direct#!/usr/bin/python import calendar cal = calendar.month(2008, 1) print "Here is the calendar:" print cal
Cela produirait le résultat suivant −
Here is the calendar: January 2008 Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Le temps Module
Il y a un moment populaire module disponible en Python qui fournit des fonctions pour travailler avec les temps et pour convertir entre les représentations. Voici la liste de toutes les méthodes disponibles −
Sr.No. | Fonction avec Description |
---|---|
1 | heure.altzone Décalage du fuseau horaire DST local, en secondes à l'ouest de UTC, s'il est défini. Ceci est négatif si le fuseau horaire DST local est à l'est de UTC (comme en Europe occidentale, y compris le Royaume-Uni). N'utilisez ceci que si la lumière du jour est différente de zéro. |
2 | time.asctime([tupletime]) Accepte un tuple temporel et renvoie une chaîne lisible de 24 caractères, telle que "Tue Dec 11 18:07:14 2008". |
3 | heure.horloge( ) Renvoie le temps CPU actuel sous la forme d'un nombre à virgule flottante de secondes. Pour mesurer les coûts de calcul des différentes approches, la valeur de time.clock est plus utile que celle de time.time(). |
4 | time.ctime([secs]) Comme asctime(localtime(secs)) et sans arguments est comme asctime( ) |
5 | time.gmtime([secs]) Accepte un instant exprimé en secondes depuis l'époque et renvoie un tuple temporel t avec l'heure UTC. Remarque :t.tm_isdst vaut toujours 0 |
6 | time.localtime([secs]) Accepte un instant exprimé en secondes depuis l'époque et renvoie un tuple temporel t avec l'heure locale (t.tm_isdst vaut 0 ou 1, selon que l'heure d'été s'applique aux secondes instantanées selon les règles locales). |
7 | time.mktime(tupletime) Accepte un instant exprimé sous la forme d'un tuple temporel en heure locale et renvoie une valeur à virgule flottante avec l'instant exprimé en secondes depuis l'époque. |
8 | time.sleep(secs) Suspend le thread appelant pendant secondes secondes. |
9 | time.strftime(fmt[,tupletime]) Accepte un instant exprimé sous la forme d'un tuple temporel en heure locale et renvoie une chaîne représentant l'instant tel que spécifié par la chaîne fmt. |
10 | time.strptime(str,fmt='%a %b %d %H:%M:%S %Y') Analyse str selon la chaîne de format fmt et renvoie l'instant au format time-tuple. |
11 | heure.heure( ) Renvoie l'instant actuel, un nombre à virgule flottante de secondes depuis l'époque. |
12 | heure.tzset() Réinitialise les règles de conversion de temps utilisées par les routines de la bibliothèque. La variable d'environnement TZ spécifie comment cela est fait. |
Passons brièvement en revue les fonctions −
Les deux attributs importants suivants sont disponibles avec le module de temps −
Sr.No. | Attribut avec description |
---|---|
1 | |
2 |
Le calendrier Module
Le module de calendrier fournit des fonctions liées au calendrier, y compris des fonctions pour imprimer un calendrier texte pour un mois ou une année donné.
Par défaut, le calendrier prend le lundi comme premier jour de la semaine et le dimanche comme dernier. Pour changer cela, appelez la fonction calendar.setfirstweekday().
Voici une liste des fonctions disponibles avec le calendrier modules −
Sr.No. | Fonction avec Description |
---|---|
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 |
Autres modules et fonctions
Si vous êtes intéressé, vous trouverez ici une liste d'autres modules et fonctions importants pour jouer avec la date et l'heure en Python −
-
Le dateheure Module
-
Le pytz Module
-
Le dateutil Module
Python