Maison  >  Article  >  développement back-end  >  Introduction de base au temps en python

Introduction de base au temps en python

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼original
2019-06-17 10:11:0213476parcourir

En Python, les modules liés au traitement du temps incluent : l'heure, la date et le calendrier.

Recommandations associées : "vidéo python"

Introduction de base au temps en python

En Python, il existe généralement plusieurs façons de représenter le temps :

1) Horodatage

2) Chaîne de temps formatée

3) Tuple (struct_time) avec neuf éléments au total.

Étant donné que l'implémentation du module temporel de Python fait principalement appel à la bibliothèque C, chaque plateforme peut être différente. UTC (Temps universel coordonné) est l’heure astronomique de Greenwich, l’heure standard mondiale. En Chine, il est UTC+8. DST (Daylight Saving Time) correspond à l’heure d’été. Méthode d'horodatage (timestamp) : De manière générale, un horodatage représente le décalage en secondes à partir de 00:00:00 le 1er janvier 1970. Nous exécutons "type(time.time())" et le type de retour est float. Les fonctions qui renvoient des horodatages incluent principalement time(), clock(), etc. Méthode Tuple (struct_time) : Le tuple struct_time a un total de 9 éléments. Les fonctions qui renvoient struct_time incluent principalement gmtime(), localtime() et strptime(). Voici plusieurs éléments du méta-groupe :

Attribut d'index (attribut) >1                                   1 - 12                                                                                                                                                                                  Heure)                                                                                                                 - 59                                                                                                                                                                                                                                                                                                                                                                                                             

7 TM_YDAY (le premier jour de l'année) 1 -366

8 TM_ISDST (si c'est l'heure d'été) par défaut -1

Fonctions :

1) time.localtime([secs]) : convertit un horodatage en struct_time dans le fuseau horaire actuel. Si le paramètre secs n’est pas fourni, l’heure actuelle prévaudra.

>>> time.localtime()
time.struct_time(tm_year=2011, tm_mon=5, tm_mday=5, tm_hour=14, tm_min=14, tm_sec=50, tm_wday=3, tm_yday=125, 
tm_isdst=0)
>>> time.localtime(1304575584.1361799)
time.struct_time(tm_year=2011, tm_mon=5, tm_mday=5, tm_hour=14, tm_min=6, tm_sec=24, tm_wday=3, tm_yday=125,
tm_isdst=0)

2) time.gmtime([secs]) : Semblable à la méthode localtime(), la méthode gmtime() convertit un horodatage en struct_time dans le fuseau horaire UTC (fuseau horaire 0).

>>>time.gmtime()
time.struct_time(tm_year=2011, tm_mon=5, tm_mday=5, tm_hour=6, tm_min=19, tm_sec=48, tm_wday=3, tm_yday=125, tm_isdst=0)

3) time.time() : renvoie l'horodatage de l'heure actuelle.

>>> time.time() 
1304575584.1361799

4) time.mktime(t) : Convertit un struct_time en un horodatage.

>>> time.mktime(time.localtime())
1304576839.0

5) time.sleep(secs) : le thread retarde son exécution pendant la durée spécifiée. L'unité est la seconde.

6) time.clock() : Veuillez noter que cela a des significations différentes selon les systèmes. Sur les systèmes UNIX, il renvoie le « temps de processus », qui est un nombre à virgule flottante (horodatage) exprimé en secondes. Sous WINDOWS, le premier appel renvoie l’heure réelle d’exécution du processus. Les appels après la deuxième fois correspondent à la durée écoulée depuis le premier appel jusqu'au présent. (En fait basé sur QueryPerformanceCounter() sur WIN32, qui est plus précis que la représentation en millisecondes)

import time 
if __name__ == '__main__': 
    time.sleep(1) 
    print "clock1:%s" % time.clock() 
    time.sleep(1) 
    print "clock2:%s" % time.clock() 
    time.sleep(1) 
    print "clock3:%s" % time.clock()

Résultats d'exécution :

clock1:3.35238137808e-006 
clock2:1.00004944763 
clock3:2.00012040636

La première horloge( ) affiche le programme en cours d'exécution time
Les deuxième et troisième sorties clock() sont les intervalles de temps à partir de la première horloge

7) time.asctime([t]) : représente un tuple ou struct_time de time est représenté sous cette forme : 'Dim. 20 juin 23:21:05 1993'. S'il n'y a pas de paramètres, time.localtime() sera transmis en paramètre.

>>> time.asctime()
'Thu May 5 14:55:43 2011'

8) time.ctime([secs]) : Convertissez un horodatage (un nombre à virgule flottante calculé en secondes) sous la forme de time.asctime(). Si le paramètre n'est pas donné ou vaut None, time.time() sera utilisé comme paramètre par défaut. Sa fonction est équivalente à time.asctime(time.localtime(secs)).

>>> time.ctime()
'Thu May 5 14:58:09 2011'
>>> time.ctime(time.time())
'Thu May 5 14:58:39 2011'
>>> time.ctime(1304579615)
'Thu May 5 15:13:35 2011'

9) time.strftime(format[, t]) : Convertissez un tuple représentant l'heure ou struct_time (tel que renvoyé par time.localtime() et time.gmtime()) en chaîne de temps formatée. Si t n'est pas spécifié, time.localtime() sera transmis. Si un élément du tuple sort des limites, une ValueError sera levée.

Format                                                  Remarques

%a                                                                                                                                                                  

%b Nom du mois complet local

% C La date et l'heure locales correspondantes indiquent

Le premier jour d'un mois (01-31)

> La première heure du jour (24 heures, 00-23 )

%I (12 heures, 01-12)

%j une année dans un an Le jour du mois (001 - 366) )

%p                            本地am或者pm的相应符                                                         一    

%S                                    秒(01 - 61)                                                                 二    

%U         一年中的星期数。(00 - 53星期天是一个星期的开始。)

              第一个星期天之前的所有天数都放在第0周。                                               三    

%w            一个星期中的第几天(0 - 6,0是星期天)                                              三    

%W             和%U基本相同,不同的是%W以星期一为一个星期的开始。    

%x                               本地相应日期    

%X                              本地相应时间    

%y                       去掉世纪的年份(00 - 99)    

%Y                               完整的年份    

%Z                时区的名字(如果不存在为空字符)    

%%                             ‘%’字符    

备注:

“%p”只有与“%I”配合使用才有效果。文档中强调确实是0 - 61,而不是59,闰年秒占两秒(汗一个)。当使用strptime()函数时,只有当在这年中的周数和天数被确定的时候%U和%W才会被计算。

举个例子:

>>> time.strftime("%Y-%m-%d %X", time.localtime())
'2011-05-05 16:37:06'

10)time.strptime(string[, format]):把一个格式化时间字符串转化为struct_time。实际上它和strftime()是逆操作。

>>> time.strptime('2011-05-05 16:37:06', '%Y-%m-%d %X')
time.struct_time(tm_year=2011, tm_mon=5, tm_mday=5, tm_hour=16, tm_min=37, tm_sec=6, tm_wday=3, tm_yday=125, tm_isdst=-1)

在这个函数中,format默认为:"%a %b %d %H:%M:%S %Y"。

最后,我们来对time模块进行一个总结。根据之前描述,在Python中共有三种表达方式:1)timestamp 2)tuple或者struct_time 3)格式化字符串。

它们之间的转化如图所示:

Introduction de base au temps en python

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn