Heim  >  Artikel  >  Backend-Entwicklung  >  Erfahren Sie mehr über das Zeitmodul in Python

Erfahren Sie mehr über das Zeitmodul in Python

零到壹度
零到壹度Original
2018-04-14 11:33:011945Durchsuche

Der Inhalt dieses Artikels soll Ihnen ein tiefgreifendes Verständnis des Zeitmoduls in Python vermitteln. Es hat einen gewissen Referenzwert.

In Python In umfassen die Module im Zusammenhang mit der Zeitverarbeitung: Uhrzeit, Datum/Uhrzeit und Kalender. In diesem Artikel wird hauptsächlich das Zeitmodul erläutert.

Bevor wir beginnen, müssen wir zunächst diese Punkte erklären:

  1. In Python gibt es normalerweise mehrere Möglichkeiten, Zeit darzustellen: 1) Zeitstempel 2) formatierte Zeitzeichenfolge 3) Tupel (struct_time) mit insgesamt neun Elementen. Da die Zeitmodulimplementierung von Python hauptsächlich die C-Bibliothek aufruft, kann jede Plattform unterschiedlich sein.

  2. UTC (Koordinierte Weltzeit) ist die Greenwich Astronomical Time, Weltstandardzeit. In China ist es UTC+8. DST (Daylight Saving Time) ist die Sommerzeit.

  3. Zeitstempel (Zeitstempel)-Methode: Im Allgemeinen stellt der Zeitstempel die Sekunden dar, beginnend mit 1. Januar 1970, 00:00:00 Uhr Der berechnete Offset. Wir führen „type(time.time())“ aus und der Rückgabetyp ist float. Zu den Funktionen, die Zeitstempel zurückgeben, gehören hauptsächlich time(), clock() usw.

  4. Tupel-Methode (struct_time): Das struct_time-Tupel besteht aus insgesamt 9 Elementen. Zu den Funktionen, die struct_time zurückgeben, gehören hauptsächlich gmtime(), localtime() und strptime(). Nachfolgend sind mehrere Elemente in Tupeln auf diese Weise aufgeführt:

Index Attribut Werte
0 tm_year (Jahr) Zum Beispiel 2011
1 tm_mon (Monat) 1 - 12
2 tm_mday (Tag) 1 - 31
3 tm_hour (Stunde) 0 - 23
4 tm_min (Minuten) 0 - 59
5 tm_sec (Sekunden) 0 - 61
6 tm_wday (Wochentag) 0 - 6 (0 bedeutet Sonntag)
7 tm_yday (Tag des Jahres) 1 - 366
8 tm_isdst (ob es Sommerzeit ist) Standard ist -1

Dann stellen wir einige häufig verwendete Funktionen im Zeitmodul vor:

1) time.localtime([secs]): Konvertieren Sie einen Zeitstempel in den aktuellen struct_time für die Zeitzone. Wenn der Parameter „secs“ nicht angegeben wird, hat die aktuelle Zeit Vorrang.

>>> 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]): Ähnlich wie die Methode localtime() konvertiert die Methode gmtime() einen Zeitstempel in eine struct_time in der UTC-Zeitzone (0-Zeitzone).

>>>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)

Hinweis: tm_wday=3 stellt hier den Wochentag dar, muss aber auf diesem Rückgabewert basieren Eine Verschiebung um einen Tag bedeutet Donnerstag, nicht Mittwoch.

3) time.time(): Gibt den Zeitstempel der aktuellen Zeit zurück.

>>> time.time()
1304575584.1361799

4) time.mktime(t): Konvertieren Sie eine struct_time in einen Zeitstempel.

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

5) time.sleep( Sekunden): Der Thread verzögert die Ausführung für die angegebene Zeit. Die Einheit ist Sekunden.

6) time.clock(): Es ist zu beachten, dass auf verschiedenen Systemen unterschiedliche Bedeutungen hat. Auf UNIX-Systemen wird die „Prozesszeit“ zurückgegeben, bei der es sich um eine in Sekunden ausgedrückte Gleitkommazahl (Zeitstempel) handelt. Unter WINDOWS gibt der erste Aufruf die tatsächliche Zeit zurück, zu der der Prozess ausgeführt wird. Die Aufrufe nach dem zweiten Mal sind die laufende Zeit seit dem ersten Aufruf bis zur Gegenwart. (Eigentlich basierend auf QueryPerformanceCounter() unter WIN32, was genauer ist als die Millisekundendarstellung)

  1. 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()

clock1:3.35238137808e-006 Laufende Ergebnisse:

clock2:1.00004944763
clock3:2.00012040636

Die Ausgabe der ersten Clock() ist Programmlaufzeit
Die zweiten und dritten Clock()-Ausgänge sind die Zeitintervalle ab der ersten Uhr

7) time.asctime([t]): Stellt ein Tupel oder eine Strukturzeit dar, die die Zeit in dieser Form darstellt: 'Sun Jun 20 23:21:05 1993'. Wenn keine Parameter vorhanden sind, wird time.localtime() als Parameter übergeben.

>>> time.asctime()
'Do. 5. Mai 14:55:43 2011'

8)Zeit. ctime([secs]): Konvertieren Sie einen Zeitstempel (eine in Sekunden berechnete Gleitkommazahl) in die Form von time.asctime(). Wenn der Parameter nicht angegeben ist oder None ist, wird standardmäßig time.time() als Parameter verwendet. Seine Funktion entspricht time.asctime(time.localtime(secs)).

>>> time.ctime()
'Do, 5. Mai 14:58:09 2011'
>>>
'Do 5. Mai 14:58:39 2011'
>>> time.ctime(1304579615)
'Do 5. Mai 15:13:35 2011'

9) time.strftime(format[, t]): Fügen Sie ein Tupel ein, das Zeit oder struct_time darstellt (z. B. time. localtime( ) und time.gmtime() return) in eine formatierte Zeitzeichenfolge umwandeln. Wenn t nicht angegeben ist, wird time.localtime() übergeben. Wenn ein Element im Tupel außerhalb der Grenzen liegt, wird ein ValueError ausgelöst.

Format Bedeutung Bemerkungen
%a Gebietsschema ) Vereinfacht Wochenname
%A Lokaler vollständiger Wochenname
%b Lokaler vereinfachter Monatsname
%B Lokaler vollständiger Monat Name
%c Lokale entsprechende Datums- und Uhrzeitdarstellung
%d Tag des Monats (01 - 31)
%H Tag des Tages Die Stundennummer (24-Stunden-Uhr, 00 - 23)
%I Die Stundenzahl (12-Stunden-Uhr, 01 - 12)
%j Tag des Jahres (001 - 366)
%m Monat (01 - 12)
%M Anzahl der Minuten (00 - 59)
%p Das entsprechende Zeichen des lokalen AM oder PM eins
%S Sekunden (01 - 61) Zwei
%U Die Anzahl der Wochen im Jahr. (Sonntag 00 - 53 ist der Wochenbeginn.) Alle Tage vor dem ersten Sonntag werden in Woche 0 eingeordnet. Drei
%w Der Wochentag (0 - 6, 0 ist Sonntag) Drei
%W ist im Grunde dasselbe wie %U, außer dass %W die Woche am Montag beginnt.
%x Lokales entsprechendes Datum
%X Lokale entsprechende Zeit
%y Jahr minus Jahrhundert (00 - 99)
%Y Ganzes Jahr
%Z Der Name der Zeitzone (Nullzeichen, falls nicht vorhanden)
%% '%'-Zeichen

Bemerkungen:

  1. „%p“ hat nur eine Wirkung, wenn es in Verbindung mit „%I“ verwendet wird.

  2. Das Dokument betont, dass es sich tatsächlich um 0 - 61 handelt, nicht um 59, und dass Schaltjahressekunden zwei Sekunden ausmachen (sweat one).

  3. Bei Verwendung der Funktion strptime() werden %U und %W nur ​​berechnet, wenn die Anzahl der Wochen und Tage im Jahr bestimmt wird.

Zum Beispiel:

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

10)time.strptime(string[, Format ]): Konvertieren Sie eine formatierte Zeitzeichenfolge in struct_time. Tatsächlich handelt es sich um die umgekehrte Operation von 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)

In dieser Funktion werden Formatvorgaben verwendet zu:"%a %b %d %H:%M:%S %Y".

Lassen Sie uns abschließend eine Zusammenfassung des Zeitmoduls erstellen. Gemäß der vorherigen Beschreibung gibt es in Python drei Ausdrucksmethoden: 1) Zeitstempel 2) Tupel oder struct_time 3) formatierte Zeichenfolge.

Die Umrechnung zwischen ihnen ist wie in der Abbildung dargestellt:


Verwandte Empfehlungen:

Detaillierte Erklärung der Python-Zeit

Python-Zeitbibliothek

Python-Zeitmodul

Zeitmodulanalyse des Python-Zeitmoduls

Das obige ist der detaillierte Inhalt vonErfahren Sie mehr über das Zeitmodul in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn