Heim  >  Artikel  >  Backend-Entwicklung  >  Python-Datum und -Uhrzeit

Python-Datum und -Uhrzeit

高洛峰
高洛峰Original
2016-11-23 10:39:021160Durchsuche

Python-Programme können Datums- und Uhrzeitangaben auf viele Arten verarbeiten. Das Konvertieren von Datumsformaten ist eine häufige Routineaufgabe. Python verfügt über ein Zeit- und Kalendermodul, das hilfreich sein kann.

Was ist eine Zecke?

Das Zeitintervall ist ein Gleitkommabruch in Sekunden.

Jeder Zeitstempel gibt an, wie viel Zeit seit Mitternacht (Epoche) am 1. Januar 1970 vergangen ist.

Das beliebte Zeitmodul, das mit Python geliefert wird, enthält viele Funktionen zum Konvertieren gängiger Datumsformate. Beispielsweise verwendet die Funktion time.time() Ticks, um die aktuelle Betriebssystemzeit zurückzugeben, die ab 12:00 Uhr am 1. Januar 1970 (Epoche) aufgezeichnet wurde, wie im folgenden Beispiel gezeigt:

#!/usr/bin/python

import time; # Dies ist erforderlich, um das Zeitmodul einzuschließen.

ticks = time.time()

print „Anzahl der Ticks seit 12:00 Uhr, 1. Januar 1970:“, ticks

Das Ausgabeergebnis des obigen Beispiels:

Anzahl der Ticks seit 12:00 Uhr, 1. Januar 1970: 7186862,73399

Tick-Einheit eignet sich am besten für Datumsberechnungen. Aber Daten vor 1970 können auf diese Weise nicht ausgedrückt werden. Zu weit entfernte Daten funktionieren nicht, UNIX und Windows unterstützen nur ein Datum im Jahr 2038.

Was ist ein Zeittupel?

Viele Python-Funktionen verwenden ein Element, um 9 Zahlengruppen zusammenzustellen:

Seriennummer

Feld

Wert

0 4-stelliges Jahr 2008

1 Monat 1 bis 12

2 Tag 1 bis 31

3 Stunde 0 bis 23

4 Minuten

5 Sekunden 0 bis 61 (60 oder 61 ist eine Schaltsekunde)

6 Wochentag 0 bis 6 (0 ist Montag)

7 Tag des Jahres 1 bis 366 (Julianischer Kalender)

8 Sommerzeit -1, 0, 1, -1 ist die Flagge, die bestimmt, ob Sommerzeit ist

< ;td0 bis 59< td="">

Das Obige ist das struct_time-Tupel. Diese Struktur hat die folgenden Attribute:

Seriennummer

Attribut

Wert

0 tm_year 2008

1 tm_mon 1 bis 12 tm_mday 1 bis 31 tm_hour 0 bis 23 tm_min 0 bis 59

5 tm_sec 0 bis 61 (60 oder 61 ist eine Schaltsekunde)

6 tm_wday 0 bis 6 (0 ist Montag)

7 tm_yday 1 bis 366 (Julianischer Kalender)

8 tm_isdst -1, 0, 1, -1 ist das Flag, um zu bestimmen, ob es Tageslicht ist Zeit sparen

Erhalten Sie die aktuelle Uhrzeit

Geben Sie die Gleitkommazahl von Zeit zu Zeit zurück. Tupelkonvertierung. Übergeben Sie einfach eine Gleitkommazahl an eine Funktion wie „localtime“.

#!/usr/bin/python

Importzeit;

Ortszeit = Zeit .localtime(time.time())

print „Lokale aktuelle Zeit:“, Lokalzeit

Oben Beispiele Ausgabeergebnis:

Lokale aktuelle Zeit: 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)

Formatierte Uhrzeit abrufen

Sie können je nach Bedarf verschiedene Formate auswählen, aber die einfachste Funktion, um ein lesbares Zeitmuster zu erhalten, ist asctime():

#! /usr/bin/python

import time;

localtime = time.asctime( time.localtime(time.time()))

print „Lokale aktuelle Zeit:“, Ortszeit

Ausgabeergebnis des obigen Beispiels:

Aktuelle Ortszeit: Dienstag, 13. Januar 10:17:09 2009

Kalender für einen bestimmten Termin abrufen Monat

Das Kalendermodul verfügt über eine Vielzahl von Methoden zur Verarbeitung von Jahres- und Monatskalendern, wie zum Beispiel das Drucken eines Monatskalenders für einen bestimmten Monat:

#!/usr/bin /python

Kalender importieren

cal = Calendar.month(2008, 1)

print „Hier ist der Kalender:"

print cal;

Das Ausgabeergebnis des obigen Beispiels:

Hier ist der Kalender:

Januar 2008

Mo Di We Do 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

Zeitmodul

Das Zeitmodul enthält die folgenden integrierten Funktionen, sowohl für die Zeitverarbeitung als auch für die Zeitformatkonvertierung:

Seriennummer

Funktion und Beschreibung

1 time.altzone
gibt die Sommerzeitzone westlich von Greenwich Offset in zurück Sekunden. Negative Werte werden zurückgegeben, wenn das Gebiet östlich von Greenwich liegt (z. B. Westeuropa, einschließlich Großbritannien). Nur in Regionen verfügbar, in denen die Sommerzeit aktiviert ist.

2 time.asctime([tupletime])
Akzeptiert ein Zeittupel und gibt eine lesbare Form von „Tue Dec 11 18:07:14 2008“ (Dienstag, 11. Dezember 2008 18 Stunden 07 Minuten) zurück 14 Sekunden) eine 24-stellige Zeichenfolge.

3 time.clock( )
Gibt die aktuelle CPU-Zeit in Sekunden zurück, berechnet als Gleitkommazahl. Es dient zur Messung des Zeitverbrauchs verschiedener Programme und ist nützlicher als time.time().

4 time.ctime([secs])
entspricht asctime(localtime(secs)), was asctime()

5 time entspricht. gmtime([secs ])
Empfangt ein Timeout (die Anzahl der seit der Epoche 1970 verstrichenen Gleitkommasekunden) und gibt ein Zeittupel t in der astronomischen Greenwich-Zeit zurück. Hinweis: t.tm_isdst ist immer 0

6 time.localtime([secs])
empfängt das Timeout (die Anzahl der Gleitkommasekunden, die nach der Epoche 1970 verstrichen sind) und gibt das Zeittupel t in lokal zurück Uhrzeit (t.tm_isdst kann 0 oder 1 sein, abhängig davon, ob die Ortszeit Sommerzeit ist).

7 time.mktime(tupletime)
akzeptiert ein Zeittupel und gibt die Zeit zurück (die Anzahl der seit Epoche 1970 verstrichenen Gleitkommasekunden).

8 time.sleep(secs)
Verzögern Sie die Ausführung des aufrufenden Threads, secs bezieht sich auf die Anzahl der Sekunden.  

9 time.strftime(fmt[,tupletime])
Empfangt ein Zeittupel und gibt die lokale Zeit als lesbaren String zurück, das Format wird durch fmt bestimmt.

10 time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')
Parsen Sie eine Zeitzeichenfolge in ein Zeitelement gemäß dem Format von fmt-Gruppe.

11 time.time( )
Gibt den Zeitstempel der aktuellen Zeit zurück (die Anzahl der seit Epoche 1970 verstrichenen Gleitkommasekunden).

12 time.tzset()
Zeitbezogene Einstellungen gemäß der Umgebungsvariablen TZ neu initialisieren.

Das Zeitmodul enthält die folgenden 2 sehr wichtigen Attribute:

Seriennummer

Attribute und Beschreibung

1 time.timezone
Die Eigenschaft time.timezone ist die Offset-Sekunde der lokalen Zeitzone (ohne Sommerzeit) von Greenwich (>0, Amerika;<=0 der größte Teil Europas, Asiens, Afrikas).

2 time.tzname
Das Attribut time.tzname enthält ein Paar Zeichenfolgen, die je nach Situation variieren, nämlich den Namen der lokalen Zeitzone mit und ohne Sommerzeit.

Kalendermodul

Die Funktionen dieses Moduls sind alle kalenderbezogen, wie zum Beispiel das Drucken des Charakterkalenders eines bestimmten Monats.

Montag ist der standardmäßige erste Tag der Woche und Sonntag ist der standardmäßige letzte Tag. Um die Einstellungen zu ändern, müssen Sie die Funktion Calendar.setfirstweekday() aufrufen. Das Modul enthält die folgenden integrierten Funktionen:

Seriennummer

Funktion und Beschreibung

1 Calendar.calendar( Jahr,w= 2,l=1,c=6)
Gibt einen Jahreskalender im mehrzeiligen Zeichenfolgenformat mit 3 Monaten pro Zeile und einem Intervall von c zurück. Das tägliche Breitenintervall beträgt w Zeichen. Die Länge jeder Linie beträgt 21* B 18 2* C. l ist die Anzahl der Zeilen pro Woche.

2 Calendar.firstweekday( )
Gibt die aktuelle Einstellung für den wöchentlichen Starttag zurück. Standardmäßig wird 0 zurückgegeben, wenn das Kalendermodul zum ersten Mal geladen wird, also am Montag.

3 Calendar.isleap(year)
gibt „True“ zurück, wenn es sich um ein Schaltjahr handelt, andernfalls ist es „False“.

4 Calendar.leapdays(y1,y2)
Gibt die Gesamtzahl der Schaltjahre zwischen Y1 und Y2 zurück.

5 Calendar.month(year,month,w=2,l=1)
Gibt einen Jahres- und Monatskalender im mehrzeiligen String-Format zurück, mit zwei Titelzeilen und einer Zeile für jede Woche . Das tägliche Breitenintervall beträgt w Zeichen. Die Länge jeder Reihe beträgt 7*b 6. l ist die Anzahl der Zeilen pro Woche.

6 Calendar.monthcalendar(year,month)
gibt eine einstufige verschachtelte Liste von Ganzzahlen zurück. Jede Unterliste enthält eine Ganzzahl, die eine Woche darstellt. Daten außerhalb von „Jahr“, „Monat“ und „Monat“ werden alle auf 0 gesetzt; Tage innerhalb des Bereichs werden durch den Tag des Monats, beginnend bei 1, dargestellt.

7 Calendar.monthrange(year,month)
gibt zwei ganze Zahlen zurück. Der erste ist der Datumscode des Wochentags des Monats und der zweite ist der Tagescode des Monats. Die Tage reichen von 0 (Montag) bis 6 (Sonntag); die Monate reichen von 1 bis 12.

8 Calendar.prcal(year,w=2,l=1,c=6)
ist äquivalent zu print Calendar.calendar(year,w,l,c). > 9 Calendar.prmonth(year,month,w=2,l=1)

ist äquivalent zu print Calendar.calendar(year,w,l,c).

10 Calendar.setfirstweekday(weekday)
Legen Sie den Starttagscode jeder Woche fest. 0 (Montag) bis 18 (Sonntag).

11 Calendar.timegm(tupletime)
ist das Gegenteil von time.gmtime: Es akzeptiert eine Zeittupelform und gibt die Zeit zu diesem Zeitpunkt zurück (die Anzahl der Gleitkommasekunden, die nach der Epoche 1970 verstrichen sind). .

12 Calendar.weekday(year,month,day)
Gibt den Datumscode des angegebenen Datums zurück. 0 (Montag) bis 18 (Sonntag). Die Monate reichen von 1 (Januar) bis 12 (Dezember).


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
Vorheriger Artikel:Python-FunktionenNächster Artikel:Python-Funktionen