Date et heure Python
Les programmes Python peuvent gérer les dates et les heures de plusieurs manières, et la conversion des formats de date est une fonction courante.
Python fournit un module d'heure et de calendrier qui peut être utilisé pour formater les dates et les heures.
L'intervalle de temps est une fraction à virgule flottante en secondes.
Chaque horodatage est exprimé en fonction du temps écoulé depuis minuit (époque) le 1er janvier 1970.
Le module horaire de Python possède de nombreuses fonctions qui peuvent convertir les formats de date courants. Par exemple, la fonction time.time() est utilisée pour obtenir l'horodatage actuel, comme dans l'exemple suivant :
# -*- coding: UTF-8 -*-
import time; #Introduire le module time
ticks = time.time()
print "L'horodatage actuel est :", ticks
L'exemple de résultat de sortie ci-dessus :
L'unité d'horodatage est la plus appropriée pour opérations de dates. Mais les dates antérieures à 1970 ne peuvent pas être exprimées de cette manière. Les dates trop éloignées ne fonctionneront pas non plus, UNIX et Windows ne sont supportés que jusqu'en 2038.
Qu'est-ce qu'un tuple temporel ?
De nombreuses fonctions Python utilisent 9 groupes de temps de traitement numérique assemblés à partir d'un tuple :
序号 | 字段 | 值 |
---|---|---|
0 | 4位数年 | 2008 |
1 | 月 | 1 到 12 |
2 | 日 | 1到31 |
3 | 小时 | 0到23 |
4 | 分钟 | 0到59 |
5 | 秒 | 0到61 (60或61 是闰秒) |
6 | 一周的第几日 | 0到6 (0是周一) |
7 | 一年的第几日 | 1到366 (儒略历) |
8 | 夏令时 | -1, 0, 1, -1是决定是否为夏令时的旗帜 |
Ce qui précède est le tuple struct_time. Cette structure possède les propriétés suivantes :
序号 | 属性 | 值 |
---|---|---|
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或61 是闰秒) |
6 | tm_wday | 0到6 (0是周一) |
7 | tm_yday | 1 到 366(儒略历) |
8 | tm_isdst | -1, 0, 1, -1是决定是否为夏令时的旗帜 |
Obtenir l'heure actuelle
Convertissez de la méthode de suppression d'heure qui renvoie un nombre à virgule flottante en un tuple d'heure, transmettez simplement le nombre à virgule flottante à une fonction telle que l'heure locale.
# -*- codage : UTF-8 -*-
heure d'importation
localtime = heure. localtime(time.time())
print "L'heure locale est :", localtime
L'exemple de résultat de sortie ci-dessus :
Obtenir l'heure formatée
Vous pouvez choisir différents formats en fonction de vos besoins, mais la fonction la plus simple pour obtenir un modèle d'heure lisible est asctime() :
# -*- codage : UTF-8 -*-
import time
localtime = time.asctime( time.localtime(time.time() ) )
imprimer "L'heure locale est :", heure locale
L'exemple de résultat de sortie ci-dessus :
Formater la date
On peut utiliser la méthode strftime du module time pour formater la date :
#!/usr/bin/python
# -*- codage : UTF-8 -*-
heure d'importation
# Formaté en 2016-03 -20 11:45:39Format
print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
# Formater en samedi 28 mars 22:24:24 2016Form
print time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())
# Convertir la chaîne de format en horodatage
a = "Sam Mar 28 22:24:24 2016"
print time.mktime(time.strptime(a,"%a %b %d %H:%M :% S %Y"))
L'exemple de résultat de sortie ci-dessus :
Jeudi 07 avril 10:25 : 09 2016
1459175064.0
Symboles de formatage de l'heure et de la date en python :
%y représentation de l'année à deux chiffres (00-99)
%Y Le L'année à quatre chiffres représente (000-9999)
%m mois (01-12)
%d jour du mois (0 -31)
%H heure de 24 heures (0-23)
%I heure de 12 heures (01 -12)
%M minutes (00=59)
%S secondes (00-59)
%a Nom de la semaine locale simplifiée
%A Nom de la semaine complète locale
%b Nom du mois local simplifié
%B nom complet du mois local
%c représentation locale de la date et de l'heure correspondantes
%j Jour de l'année ( 001-366)
%p Equivalent du matin ou de l'après-midi local
%U Année Le numéro de la semaine en (00-53) Le dimanche est le début de la semaine
%w semaine (0-6), le dimanche est le début de la semaine
%W Le nombre de semaines dans l'année (00-53) Le lundi est le début de la semaine
%x La représentation de la date locale correspondante
% X La représentation de l'heure locale correspondante
%Z Le nom du fuseau horaire actuel
%% Le nombre % lui-même
Obtenir le calendrier d'un certain mois
Le module Calendrier propose un large éventail de méthodes de traitement des calendriers annuels et mensuels, comme l'impression du calendrier mensuel d'un certain mois :
# -*- codage : UTF-8 -*-
importer le calendrier
cal = calendrier. Month(2016, 1)
print "Ce qui suit génère le calendrier de janvier 2016 :"
print cal;
Le résultat de sortie de l'exemple ci-dessus :
janvier 2016
Mo Tu We Th Fr Sa Di
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17 19 20 21 22 23 24
25 26 27 28 29 30 31
Module Time
Le module Time contient les fonctions intégrées suivantes, à la fois pour le traitement du temps et la conversion du format de l'heure :
Numéro de série | Fonction et description | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | time.altzone
| ||||||||||||||||||||||||||
2 | time.asctime([tupletime]) Accepte un tuple temporel et renvoie une forme lisible de "Tue Dec 11 18 :07 :14 2008" (mardi 11 décembre 2008, 18:07:14) est une chaîne de 24 caractères. | ||||||||||||||||||||||||||
3 | time.clock()Renvoie le temps CPU actuel en secondes calculé sous forme de nombre à virgule flottante. Il est utilisé pour mesurer la consommation de temps de différents programmes et est plus utile que time.time(). | ||||||||||||||||||||||||||
4 | time.ctime([secs])
| ||||||||||||||||||||||||||
5 | time.gmtime([secs])<🎜>Délai d'expiration de réception (le nombre de secondes à virgule flottante écoulé depuis l'époque 1970) et renvoie un tuple temporel t en heure astronomique de Greenwich. Remarque : t.tm_isdst est toujours 0 | ||||||||||||||||||||||||||
6 | time.localtime([secs])<🎜>Le délai de réception expire après l'époque 1970 Flottant point secondes) et renvoie le tuple temporel t en heure locale (t.tm_isdst peut être 0 ou 1, selon que l'heure locale est l'heure d'été). | ||||||||||||||||||||||||||
7 | time.mktime(tupletime)<🎜>Accepte un tuple temporel et renvoie l'heure (le nombre de secondes à virgule flottante écoulées depuis les années 1970 époque) . | ||||||||||||||||||||||||||
8 | time.sleep(secs)<🎜>Différer l'exécution du thread appelant, secs fait référence au nombre de secondes. | ||||||||||||||||||||||||||
9 | time.strftime(fmt[,tupletime])<🎜>Reçoit un tuple temporel et renvoie une chaîne lisible Heure locale, format déterminé par enfin. | ||||||||||||||||||||||||||
10 | time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')< 🎜>Analyser une chaîne temporelle en un tuple temporel selon le format fmt. | ||||||||||||||||||||||||||
11 | time.time( )<🎜>Renvoie l'horodatage de l'heure actuelle (le nombre de secondes à virgule flottante écoulées depuis l'époque 1970) . | ||||||||||||||||||||||||||
12 | time.tzset()<🎜>Réinitialisez les paramètres liés au temps en fonction de la variable d'environnement TZ. |
Numéro de série | Attributs et description |
---|---|
1 td> | time.timezone<🎜>La propriété time.timezone est le décalage en secondes du fuseau horaire local (sans heure d'été) à partir de Greenwich (>0, Amérique;<= (la majeure partie de l'Europe, de l'Asie et de l'Afrique). |
2 | time.tzname<🎜>L'attribut time.tzname contient une paire de caractères qui varient en fonction du situation Les chaînes sont les noms de fuseau horaire local avec et sans heure d'été. |
Module Calendrier
Les fonctions de ce module sont toutes liées au calendrier, comme l'impression du calendrier des personnages d'un certain mois.
Le lundi est le premier jour de la semaine par défaut et le dimanche est le dernier jour par défaut. Pour modifier les paramètres, vous devez appeler la fonction calendrier.setfirstweekday(). Le module contient les fonctions intégrées suivantes :
Numéro de série | < th style=" width:95%">Fonction et description|||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | calendar.calendar(year,w=2,l= 1,c= 6)
| ||||||||||||||||||||||||||
2 | calendar.firstweekday( ) Renvoie le paramètre du jour de début hebdomadaire actuel. Par défaut, 0 est renvoyé lors du premier chargement du module caendar, c'est-à-dire lundi. | ||||||||||||||||||||||||||
3 | calendar.isleap(year) Renvoie True s'il s'agit d'une année bissextile, sinon false. | ||||||||||||||||||||||||||
4 | calendar.leapdays(y1,y2)Renvoie les deux années entre Y1 et Y2 Nombre total des années bissextiles. | ||||||||||||||||||||||||||
5 | calendar.month(year,month,w=2,l=1)Renvoyer un Calendrier annuel et mensuel au format chaîne multiligne, avec deux lignes de titres et une ligne pour chaque semaine. L'intervalle de largeur quotidien est de w caractères. La longueur de chaque ligne est de 7* w+6. l est le nombre de lignes par semaine. | ||||||||||||||||||||||||||
6 | calendar.monthcalendar(year,month) Renvoie une liste imbriquée d'entiers à un seul niveau. Chaque sous-liste contient un entier représentant une semaine. Les dates en dehors de l'année, du mois et du mois sont toutes définies sur 0 ; les jours compris dans la plage sont représentés par le jour du mois, à partir de 1. | ||||||||||||||||||||||||||
7 | calendar.monthrange(year,month)Renvoie deux entiers. Le premier est le code de date du jour de la semaine du mois et le second est le code de jour du mois. Les jours vont de 0 (lundi) à 6 (dimanche) ; les mois vont de 1 à 12. | ||||||||||||||||||||||||||
8 | calendar.prcal(année,w=2,l=1,c=6)
| ||||||||||||||||||||||||||
9 | calendar.prmonth(année,mois,s =2,l=1) | ||||||||||||||||||||||||||
10 | calendar.setfirstweekday(weekday) Définissez le code du jour de début de la semaine. 0 (lundi) à 6 (dimanche). | ||||||||||||||||||||||||||
11 | calendar.timegm(tupletime)L'opposé de time.gmtime : accepte une forme de tuple temporel , renvoie l'heure à ce moment (le nombre de secondes à virgule flottante écoulées depuis l'époque 1970). | ||||||||||||||||||||||||||
12 | calendar.weekday(year,month,day)Renvoie le code de date de la date donnée . 0 (lundi) à 6 (dimanche). Les mois vont du 1 (janvier) au 12 (décembre). |